我有一个Access 2010数据库,它使用多值字段( Access内置的方式使两个表之间有m:n-关系)。
为了跟踪数据库的更改,每次更新相应的表单时,我都使用AuditTrail VBA过程,将所有更改保存到历史表中。
现在,当我更改ComboBox的值,循环到达绑定到多值字段的ComboBox时,由于数据类型不兼容,该过程抛出一个错误:
For Each ctl In Screen.ActiveForm.Controls
If ctl.Tag = "History" Then
If Nz(ctl.Value) <> Nz(ctl
尝试运行Ms Excel VBA的select字符串时,Im收到自动化错误
代码如下:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strsql As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set cn = New ADODB.Connection
Application.ScreenUpdating = False
DBPath = "Path of Access DB HERE"
DBProvider =
我在access中有一个表单是这样工作的: 用户选择一个产品的ID,VBA代码在数据库中搜索,并在表单中填写一些文本框。例如:用户选择ID 1文本框1填充有:水果 我的问题是,我有一个组合框,可以选择"banana“、"apple”或"grape“。这个组合框在表单中是可见的,但我希望它是不可见的,并且只有在文本框1中填充了“水果”时才会出现。 在设计视图中,我将combobox的可见性设置为"no",因此它不再出现在表单中。然后,我写了这段代码: Private Sub textbox1_AfterUpdate()
If Me.textbox1
我正在尝试在Access VBA中建立SELECT语句,基于用户在ComboBox中选择的值。
示例:
"SELECT [8_SV_RT] FROM DATA WHERE condition = value
我需要8依赖于表单中的ComboBox值。(8,10,12....)
ComboBox的名称是DN,我创建了字符串COL = "_SV_RT"
到目前为止,我有:
"SELECT [DN] & '" & COL & "' FROM DATA WHERE condition = value
它将返回值8_
我在处理Excel文档中用户表单中的组合框时遇到了困难。组合框要么不出现在用户表单中,要么保持空白,当我在其中输入任何字符时,项目列表将出现2到3次,而不是只出现一次。当我选择一个项目时,所选的项目不会出现在框中。似乎Excel^随机挑选了一个项目,无论我从列表中选择哪个项目,它总是最终显示在框中的同一个项目。
有人能帮我解决这个问题吗?非常感谢!
这是我使用的代码:
Private Sub ComboBox1_Change()
Select Case ComboBox1.Text
Case "Een nieuwe start"
Case
我正在使用文本框在access数据库中搜索,然后在组合框中显示匹配项,它工作正常,但当用户输入不匹配条目时,会出现错误。
这是我的代码:
Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged
Try
ComboBox3.DataSource = Me.MyDataset.Items.Select("ItemName like '%" & TextBox
在MS Access 2019专业+2019年工作。不过,这并不重要。
我的设置可以缩小到这个层次结构,它可以很好地独立工作:
'------> Hierarchy of objects :
"myMainForm" contains :
"select_client" (ComboBox based on "client" table)
"select_status" (ComboBox based on "status" table)
' and some mul
我在excel VBA中工作,我想在组合框中获得所有字体的列表。
有人能帮我一下吗?
我尝试了这段代码,但在listcount中出现了错误:
..。
Set FontList = Application.CommandBars("Formatting").FindControl(ID:=1728)
' Put the fonts into column A
*For i = 0 To FontList.ListCount - 1*
combobox.AddItems FontList.List(i + 1)
Next
我有一个用VBA for Excel编写的应用程序,它接收实时数据馈送。只要数据发生更改,就会在VBA中触发各种事件。
我也有一些带有ComboBoxes的UserForms。我的问题是,当我单击ComboBox上的向下箭头并尝试进行选择时,只要我从数据馈送获得更新,ComboBox就会重置。我想要做的是在ComboBox中进行选择时暂停事件,然后在完成时取消暂停。如何生成此功能?
下午好, 请原谅这可能是非常简单的编码,我是VBA的新手。 本质上,我要做的是在VBA中从用户表单更新电子表格。我从有效地将ComboBox中的选择添加到我的电子表格中开始。 我想让代码在电子表格中查找名称,转到第5列并插入来自ComboBox的结果-在本例中是单词"complete“ 我尝试过的代码如下: Private Sub ComboBox1_Change()
Dim DOCUMENT As String
Dim Status_Cell As Range
DOCUMENT = "Report 1"
Status_Cell = Applicati
我正在尝试创建一个用户窗体,该窗体将基于用户窗体上的组合框的值显示特定的工作表。在工作簿中有3个“非常隐藏”的不同工作表。组合框中包含3个选项,每个隐藏工作表对应一个选项。我使用select case使正确的工作表可见(最终会有超过3个工作表/选项。示例代码如下(位于用户窗体代码窗口中):
Private Sub NextButton_Click()
Select Case ComboBox
Case ComboBox.ListIndex = 0
Sheets(1).Visible = True
Case ComboBox.ListIndex = 1
我有Access 2010表单,它有一个ComboBox cmbSubTopic,其中列出了两个列(SubTopicID和SubTopic)。组合框绑定到包含SubTopicID的字段。组合框中的SubTopicID列是隐藏的,它只显示SubTopic。当用户从下拉列表中选择一个SubTopic时,相应的SubTopicID存储在表中。我为表单的on事件编写了一些VBA代码,以便在表中查找SubTopicID,并在ComboBox中选择相应的SubTopic。我当前的代码如下所示:
Set rsST = dbs.OpenRecordset(strSqlst)
For i = 0 To Me.c
我已经在Access中创建了一个数据输入表单,它使用combobox输入农民的名字。为了方便地使用组合框,并确保只从列表中输入农民。为方便起见,当您键入时,将重新查询组合框。这个组合框对于第一个条目很好,但是当查询下一行时,以前农民的名字就消失了。我认为,访问是请求所有下拉列表,而不是当前下拉/组合框。
查询下拉列表的VBA如下所示:
Public Sub FilterComboAsYouType(combo As ComboBox, defaultSQL As String,
lookupField As String)
Dim strSQL As String
我不喜欢未初始化的VBA数组,因为每次使用UBound()或For Each之前都必须检查if array is initialized,以避免出现异常,并且没有本地VBA函数来检查它。这就是我初始化数组的原因,至少用a = Array()初始化数组是空的。这消除了在大多数情况下需要额外检查的需要,因此一维阵列不存在问题。 出于同样的原因,我尝试创建一个空数组。这不可能简单地做ReDim a(0 To -1, 0 To 0),转置一维空数组或类似的事情。我偶然遇到的唯一方法是使用MSForms.ComboBox,将空数组分配给.List属性,然后读回它。以下是在Excel和Word中工作的示
这是我的VBA:
Private Sub cboEmployee_AfterUpdate()
On Error GoTo Proc_Error
If IsNull(Me.cboEmployee) Then
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.Filter = ""
Me.subEmployeeCourseTrainingCompletion.EmployeeProfile.FilterOn = False
Else
Me.subEmployeeCourseTrainingCompletio
我对vba (和这个网站--如果我发错了,很抱歉)还是个新手,以前是SQL开发人员,但不幸的是,我的新工作只涉及access 2010。我正在尝试构建一个vba宏,它将运行各种更新语句。我已经在access中构建了查询,并且正在尝试在vba中调用该查询。我曾尝试使用一个access查询执行此操作,但遇到了运行时错误- UPDATE语句中的语法错误。查询在access中运行正常,但vba函数失败,并出现运行时错误。
下面是我的vba函数:
Public Function TestUpdate1()
Dim cmdT As ADODB.Command
Dim cnn As ADODB.Connec
我有一个主窗体,它有一个带有两个组合框的子窗体。我想根据第一个组合框的选择来限制第二个组合框。我在第一个组合框的rowsource中添加了以下代码:
SELECT DISTINCT tblAll.Country FROM tblAll ORDER BY tblAll.Country;
然后在第一个combobox的update事件之后添加了
Private Sub cboCountry_AfterUpdate()
On Error Resume Next
cboCity.RowSource = "Select tblAll.City " & _
我想初始化一个存在于图表(独立图表,而不是嵌入到工作表中的图表)上的ComboBox,使其具有两个值:“Expends.”和"Income“。
我尝试输入文字列表('={"Expenses","Income"}‘或'=("Expenses","Income")'),但尝试这两个列表中的任何一个都会出现错误"Reference is not valid“。(我尝试输入文字的地方是通过右键单击control > Format Control >Control访问的"Input
当我在combobox1中有变化时设置combobox2.enable = True时,我得到了上面的错误消息。
Private Sub ComboBox1_Change()
If ComboBox1.Value = "One Session" Then
ComboBox2.Enabled = True
End If
End Sub
有没有人能告诉我出了什么问题?谢谢
我目前正在尝试升级一个旧的ADP项目,从Access 2010 x64升级到Access 2019 x64。我已经设法将它转换成一个.accdb文件,但是现在我的VBA代码出现了错误。
请考虑以下职能:
Public Function GetSystemSetting(sKey As String, vValue As Variant) As Boolean
Dim cnTemp As ADODB.Connection, rsTemp As ADODB.Recordset
Dim sSQL As String
On Error GoTo LAB_Error
sSQL =
在我的Access VBA中,我正在运行一个ftp命令的批处理文件,以将一些文件上传到我的远程服务器。在决定上传之前,我想检查远程服务器上是否存在一个锁文件,但无法确定。如果不可能通过简单的ftp命令行,我也会使用VBA解决方案。
open domain.com
username
password
binary
cd remotedir
lcd localdir
put web_status.csv
put web_customer.csv
disconnect
bye
编译access数据库后,启动数据库时出现错误。当我运行数据库的非编译版本时,它工作得很好。
错误显示为the expression you entered has a function name that <database name> can't find。
我读到此错误是由宏试图运行不存在的vba函数引起的。
我唯一拥有的宏是VBA宏,它调用启动autoexec函数。
就像我说的,未编译的access数据库没有问题,只有编译过的版本才会产生这个错误。
为什么编译后会出现这个错误?
我创建了以下Excel电子表格:
A B C D E
1 Sheet1
2 Sheet2
3 Sheet5
4 Sheet6
5 Sheet8
6 Sheet9
7
如您所见,在Column A中,我列出了Excel文件中的一些工作表。
现在,我使用下面的VBA将这个列表放到一个ComboBox中:
Sub UserForm_Activate()
ComboBox1.List = Sheet1.Range("A1:A8").Value
End Sub
到目前为止,这一切都很好。
我正在构建一个工具,它提取和比较相同数据库的两个版本之间的VBA代码模块。该工具正在Excel中构建。
不幸的是,这些数据库倾向于在打开时出现在屏幕上的消息框,并且通常提示关闭时压缩数据库。这意味着,当我试图打开数据库以获取VBA代码时,Excel代码会挂起,直到响应了Access消息框。
然而,奇怪的是,我发现当我通过Excel代码打开数据库时,没有出现打开和关闭消息,而且我能够没有任何问题地提取所有VBA代码模块。
在不触发Access VBA代码的情况下,可以这样打开Access数据库,但不必在Excel中遍历代码吗?我用来连接到数据库的代码是:
Set dbLatest = New A
我有以下Excel电子表格:
A B
1 ComboBox1
2 1.000
3 10.000
4 100.000
5
使用以下VBA将此列表加载到ComboBox中:
Sub UserForm_Activate()
Dim myArr As Variant
Dim myRng As Range
Set myRng = Sheet1.Range("A2:A4")
ReDim myArr(myRng.Cells.Count)
Dim i As Long
For i =
我有这个密码
我正在用Excel创建图表,但是在创建xValues时总是会出现错误。帮帮我。
Private Sub CommandButton3_Click()
Dim VectorGrafica(26) As Integer
Dim cuenta As Integer
Dim ho As Integer
Dim ma As Integer
Dim ejex As Range
Dim numero As Integer
Dim ejey As Range
cuenta = 0
da = 1
If ComboBox3 = "