小编Eri*_*k A的帖子

如何在Microsoft Access中的不同上下文中使用VBA中的参数?

我从bobby-tables.com这样的来源读了很多关于SQL注入和使用参数的知识.但是,我正在使用Access中的复杂应用程序,它在各种各样的地方都有很多带字符串连接的动态SQL.

它有以下我想要改变的东西,并添加参数,以避免错误,并允许我用单引号处理名称,如杰克奥康内尔.

它用:

  • DoCmd.RunSQL 执行SQL命令
  • DAO记录集
  • ADODB记录集
  • 表单和报告,使用DoCmd.OpenFormDoCmd.OpenReportWhereCondition参数中使用字符串连接打开
  • DLookUp这样的域聚合使用字符串连接

查询大多是这样构造的:

DoCmd.RunSQL "INSERT INTO Table1(Field1) SELECT Field1 FROM Table2 WHERE ID = " & Me.SomeTextbox
Run Code Online (Sandbox Code Playgroud)

对于这些不同类型的查询,我有哪些选项可以使用参数?

这个问题是作为一种资源,因为经常如何在各种帖子上使用参数评论

sql ms-access vba access-vba

14
推荐指数
1
解决办法
3831
查看次数

Netbeans的多个游标?

如何在Netbeans中使用多个游标?

我正在观看HTML视频系列,以帮助刷新我的HTML技能.我刚刚开始使用Zen Coding非常棒,但我找不到使用多个游标的方法.

netbeans

11
推荐指数
2
解决办法
9525
查看次数

Spark K-fold交叉验证

我在理解Spark的交叉验证方面遇到了一些麻烦.我见过的任何一个例子都用它来进行参数调整,但我认为它只会进行常规的K折交叉验证吗?

我想要做的是执行k折交叉验证,其中k = 5.我想获得每个结果的准确性,然后获得平均准确度.在scikit中学习这是怎么做的,分数会给你每个折叠的结果,然后你可以使用scores.mean()

scores = cross_val_score(classifier, y, x, cv=5, scoring='accuracy')
Run Code Online (Sandbox Code Playgroud)

这就是我在Spark中的做法,paramGridBuilder是空的,因为我不想输入任何参数.

val paramGrid = new ParamGridBuilder().build()
val evaluator = new MulticlassClassificationEvaluator()
  evaluator.setLabelCol("label")
  evaluator.setPredictionCol("prediction")
evaluator.setMetricName("precision")


val crossval = new CrossValidator()
crossval.setEstimator(classifier)
crossval.setEvaluator(evaluator) 
crossval.setEstimatorParamMaps(paramGrid)
crossval.setNumFolds(5)


val modelCV = crossval.fit(df4)
val chk = modelCV.avgMetrics
Run Code Online (Sandbox Code Playgroud)

这和scikit学习实现的做法是一样的吗?为什么这些示例在进行交叉验证时会使用培训/测试数据?

如何交叉验证RandomForest模型?

https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/ml/ModelSelectionViaCrossValidationExample.scala

classification machine-learning cross-validation apache-spark-mllib

11
推荐指数
1
解决办法
4988
查看次数

全页js幻灯片效果?

我正在尝试使用Fullpage.js.这是我的脚本:

<div id="fullpage" style="margin-top: 55px">
    <div class="section" id="first" style="background-color: red">Some section - Home</div>
    <div class="section" id="services" style="background-color: blue">Some section - Services</div>
    <div class="section" id="why" style="background-color: green">Some section - Why</div>
    <div class="section" id="portofolio" style="background-color: red">Some section - Portofolio</div>
    <div class="section" id="price" style="background-color: blue">Some section - Price</div>
</div>

<script type="text/javascript">
   $(document).ready(function() {

$('#fullpage').fullpage({
    menu: '#navbarNav',
    css3: true,
    scrollingSpeed: 1000
});
});
</script>
Run Code Online (Sandbox Code Playgroud)

问题是,我的HTML页面没有幻灯片效果.有解决方案吗 我在浏览器控制台中看不到任何错误.

UPDATE

还有第二个问题,当我滚动到随机部分然后我点击菜单,锚点不起作用,我的意思是它保持在我滚动的部分.

html css fullpage.js bootstrap-4

10
推荐指数
1
解决办法
812
查看次数

为什么我收到“未找到数据源名称且未指定默认驱动程序”以及如何修复它?

尝试在 Windows 上制作通过 ODBC 连接到数据库的程序时,出现以下错误:

[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序。

我确定我的代码是正确的。它甚至可以在不同的 PC 上运行。

为什么我收到这个错误?我该如何解决?

database odbc

8
推荐指数
1
解决办法
2万
查看次数

Excel VBA创建嵌入式WebBrowser并使用它

嗨,我正在尝试在电子表格中动态创建Web浏览器然后使用它,但WebBrowser功能似乎不起作用

以下是我创建WebBrowser的方法

Set myWebBrowser = Sheets("test").OLEObjects.Add(ClassType:="Shell.Explorer.2", Link:=False, DisplayAsIcon:=False, left:=147, top:=60.75, width:=141, height:=96)
Run Code Online (Sandbox Code Playgroud)

这会奏效

myWebBrowser.top = 10
Run Code Online (Sandbox Code Playgroud)

但这会给我一个错误

myWebBrowser.Navigate ("about:blank")
Run Code Online (Sandbox Code Playgroud)

关于我应该做什么的任何想法都要感谢你

更新:

这也不起作用并给出错误:

myWebBrowser.Object.Document.body.Scroll = "no"
myWebBrowser.Object.Silent = True
myWebBrowser.Object.Navigate ("about:blank")
While myWebBrowser.Object.ReadyState <> READYSTATE_COMPLETE
    Application.Wait (Now + TimeValue("0:00:01"))
Wend
myWebBrowser.Object.Refresh
Run Code Online (Sandbox Code Playgroud)

更新2(几乎在那里):

现在我需要一种方法来删除Sheet2.Activate Sheet1.Activate

Sheet2.Activate
Sheet1.Activate

Set wb = myWebBrowser.Object

With wb
    .Silent = True
    .Navigate "about:blank"
    Do While .ReadyState <> READYSTATE_COMPLETE
        Application.Wait (Now + TimeValue("0:00:01"))
    Loop
    .Document.Open "text/html"
    Do While .ReadyState <> READYSTATE_COMPLETE
        Application.Wait (Now + TimeValue("0:00:01"))
    Loop
    .Document.write …
Run Code Online (Sandbox Code Playgroud)

browser excel vba ole webbrowser-control

6
推荐指数
1
解决办法
4万
查看次数

MS Access VBA 从 Web 浏览器控件的内容获取数据

我已成功使用 MS Access 对象打开浏览器窗口并从该打开的窗口读取数据。但是,我现在尝试从 Access 窗体内的 MS Access 浏览器控件对象内部打开的网页读取数据,而不是在外部浏览器窗口中读取数据。

根据我使用对象时有效的代码,我尝试以下方法从 Access 中浏览器控件内显示的内容中读取数据:

forms!frmOQWebWindow.webView.Document.getElementByID("lblSessionDate").innerText
Run Code Online (Sandbox Code Playgroud)

并且

forms!frmOQWebWindow.webView.Object.Document.getElementByID("lblSessionDate").innerText
Run Code Online (Sandbox Code Playgroud)

但这两个都给我运行时错误'91':“未设置对象变量或With块变量”

当网页显示在 MS Access 表单内的 Web 浏览器控件内时,如何读取具有指定名称(“lblSessionDate”)的元素的值?我确信我错过了一些简单的事情。

如果有帮助的话,下面是当我使用对象从同一网页上的元素读取数据时有效的代码,当我尝试从浏览器控件读取数据时会抛出错误:

Dim weblink As String
Dim objIE As Object
Dim SessionDate As String

Set objIE = CreateObject("InternetExplorer.Application")
weblink = "http://www.somewebpage.com"
objIE.Navigate weblink

While objIE.Busy
    DoEvents
Wend

objIE.Visible = True  'make it visible; set this to false to hide the window

SessionDate = objIE.Document.getElementByID("lblSessionDate").innerText
Run Code Online (Sandbox Code Playgroud)

html ms-access vba dom

6
推荐指数
1
解决办法
1万
查看次数

当子窗体绑定到表时,是否有可能在子窗体的表单上引发事件?

我有一个带有子窗体的窗体,该窗体绑定到临时表。临时表包含数据透视表的结果,但是我希望用户能够编辑该数据透视表,然后将更改推送到源表。

要做到这一点,我想着火事件AfterInsertAfterUpdateDelete这样我就可以改变作用。据我了解,子窗体的form属性是在子窗体绑定到表时引用的临时数据表窗体。但是,我无法获得此临时表格来引发任何事件。

MCVE:

我有一个数据库,其中有一个表Table1,一个表单Form1,并且该表单具有一个未绑定的子表单控件。

我有一个带有以下代码的类Class1

Private WithEvents subformForm As Access.Form

Public Sub Init(subformControl As Access.SubForm)
    Set subformForm = subformControl.Form
    subformForm.OnCurrent = "[Event Procedure]"
End Sub

Private Sub subformForm_Current()
    MsgBox "Current!"
End Sub
Run Code Online (Sandbox Code Playgroud)

表单Form1包含以下代码:

Private c1 As Class1

Private Sub Form_Load()
    sub1.SourceObject = "Table.Table1"
    Set c1 = New Class1
    c1.Init sub1
End Sub
Run Code Online (Sandbox Code Playgroud)

但是,当我移动记录,添加记录以及在该子窗体中执行任何操作时,该subformForm_Current事件永远不会触发。

events ms-access vba access-vba

6
推荐指数
1
解决办法
520
查看次数

如何在VBA中显示带有Unicode字符的消息框?

我在VBA中有一个包含Unicode字符的字符串。

我想在包含该字符串的消息框中显示该字符串。

但是,消息框仅包含一个问号,而不是字符串。

MCVE:

Dim s As String
s = ChrW(5123)
MsgBox s
Run Code Online (Sandbox Code Playgroud)

ms-access vba access-vba

6
推荐指数
1
解决办法
598
查看次数

处理“不是有效的书签”。记录损坏的错误

我有一个数据库,其中有一些损坏的记录。查看 Access 中的表时,记录在字段中显示为“#Error”。同时弹出一个对话框,提示“不是有效的书签。”。在某些 VBA 代码中处理这些记录时,我收到相同的错误(错误号为 3159)。我的问题是:如何在 VBA 中检测到这些损坏的记录?我可以在不捕获该特定错误的情况下执行此操作吗?有没有办法使用 SQL 删除这些记录?我尝试过“紧凑和修复”,但没有触及它们。

ms-access vba

5
推荐指数
1
解决办法
1万
查看次数