我制作了一个带有列表框的表单,根据查询显示了很多姓名和收件人。如何根据同一表单中的文本框过滤表单中的名称?
(并非所有名称都与每条记录相关)
在 MS Access 中,我正在从另一个对话框窗体打开一个对话框窗体。
于是formA,打开formB。但是他们的用户可能会formB作为独立打开,我想避免在这种情况下出现错误。
我考虑过检查formB.
但是当我这样做时,我仍然收到错误 2452:您输入的表达式对 Parent 属性无效。
我试过:
If Not IsError(Me.Parent) Then
Me.Parent.cboTraining.Requery
End If
Run Code Online (Sandbox Code Playgroud)
和
If Not IsNull(Me.Parent) Then
Me.Parent.cboTraining.Requery
End If
Run Code Online (Sandbox Code Playgroud) 我试图将访问数据库的大小保持在最低限度,并且需要删除以前使用但现在不需要的几个大图像。我的理解是访问文件 (.accdb) 将图像存储在数据库中。你知道是否可以删除它以及如何删除它?TIA
澄清和解决方案:我有几个不同的背景图像的不同表单,但是此时我已经想通了(对于 Access 2013)-> 在表单设计工具下-> 设计-> 插入图像,然后右键单击您需要的图像删除,然后单击删除。完毕。
我需要运行DDL脚本来创建表,以将数据导入Microsoft Access。我已经制作了DDL脚本,并且已经在Oracle SQL Developer中工作,但是我也希望在Access中也可以使用。
我似乎找不到简单的方法来做到这一点。看起来Access的早期版本具有此功能。
我正在编写一个 VB 应用程序,需要在数据库中存储图像。用户在计算机上选择图像,这会以字符串形式提供路径。这是我的尝试,但是我收到错误“INSERT INTO 查询不能包含多值字段”。
这是我的代码:
Dim buff As Byte() = Nothing
Public Function ReadByteArrayFromFile(ByVal fileName As String) As Byte()
Dim fs As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim br As New BinaryReader(fs)
Dim numBytes As Long = New FileInfo(fileName).Length
buff = br.ReadBytes(CInt(numBytes))
Return buff
End Function
Sub ....
Dim connImg As New OleDbConnection
Dim sConnString As String
Dim cmdImg As New OleDbCommand
sConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Settings.DB & ";Persist Security Info=False;"
connImg = New OleDbConnection(sConnString)
connImg.Open()
cmdImg.Connection = connImg …Run Code Online (Sandbox Code Playgroud) 在MS Access中,我需要将所有查询备份到文本文件
我可以很好地与其他Access对象一起使用,例如以下是将所有报告备份到文本文件的示例
Dim oApplication
Set oApplication = CreateObject("Access.Application")
For Each myObj In oApplication.CurrentProject.AllReports
WScript.Echo "Report " & myObj.fullname
oApplication.SaveAsText acReport, myObj.fullname, sExportpath & "\" & myObj.fullname & ".report"
Next
Run Code Online (Sandbox Code Playgroud)
我尝试了以下备份所有查询
For Each myObj In oApplication.CurrentData.AllQueries
WScript.Echo "Query " & myObj.fullname
oApplication.SaveAsText acQuery, myObj.Name, sExportpath & "\" & myObj.Name & ".query"
Next
Run Code Online (Sandbox Code Playgroud)
但是,生成的文本文件是查询输出.它绝对不是我正在寻找的查询定义.
这里要清楚的是我试图导出到文本的图像

有没有人对如何实现这一点有任何想法?
我在Access 2013中使用VBA.
在常规模块中有2个程序,RunProc()和PopulateCollection()
当RunProc执行它调用PopulateCollection所传入的参数是一个名为收藏instace MyCol.
PopulateCollection添加3个项目,然后RunProc继续迭代Collection.
我的问题是:
我想争论MyCol中RunProc,以不被填充PopulateCollection.完成此任务的正确方法是什么?
为什么要PopulateCollection填充参数和参数?
' --------Module1------------------
Option Compare Database
Option Explicit
Dim i As Integer
Dim MyCol As VBA.Collection
Sub RunProc()
Set MyCol = New VBA.Collection
PopulateCollection MyCol
For i = 1 To MyCol.Count
Debug.Print MyCol.Item(i)
Next i
End Sub
Function PopulateCollection(ByRef pMyCol As VBA.Collection)
For i = 1 To 3
pMyCol.Add "Item" & i
Next …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Access 2013和mdb中重建Access adp项目.这些表都是两个版本中的链接表,因此不是问题.
我从旧项目中导入了表单,因此表单布局和代码都在那里.
我遇到问题的地方是尝试执行以下代码:
Dim cmd As New ADODB.Connection, RS As New ADODB.Recordset
cmd.ActiveConnection = connectionString
Debug.Print connectionString
cmd.ActiveConnection.CursorLocation = adUseClient
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_Myproc"
cmd.Parameters.Refresh
cmd(1) = Me.my_id
Set RS = cmd.Execute
'Should be checking if record set is open and explicitly close it. JWS
If RS.State = 1 Then
RS.Close
Set RS = Nothing
End If
cmd.ActiveConnection.Close
Run Code Online (Sandbox Code Playgroud)
我无法声明cmd和RS变量,因为ADODB似乎不存在.如何在Access中引用它或者实现此目的的正确方法是什么?
当我在ms-access 2013中使用参数创建追加查询时,任何这些参数的类型都设置为LongText查询失败并显示错误代码3001 Invalid Argument.ShortText但是,更改类型会导致工作查询.两个版本都可以通过双击访问本身中的查询来运行,但是第一个版本在通过以下代码运行时失败:
Dim db As DAO.Database
Set db = CurrentDb
Dim qdf As QueryDef
Set qdf = db.QueryDefs("NeuerFachlicherInhalt")
qdf!Inhalt = inhalte("DefaultInhalt")
qdf!Formular = inhalte("Formular")
qdf.Execute
Run Code Online (Sandbox Code Playgroud)
我插入参数的表有一个字段类型,LongText因此我希望这可以工作 - 这里问题的根本原因是什么?如果我无法指定LongTextas参数,如何传入长文本?
我认为它可能与访问中字符串的长度限制有关.究竟是什么限制?Google会将您重定向到VBA中串联和字符串的最大长度,访问有关字符串长度的问题,但我无法找到长度问题的明确答案:
ShortText?LongText?String?我在两种情况下的查询看起来像
PARAMETERS Inhalt LongText, Formular Short;
INSERT INTO FachlicherInhalt ( Inhalt, Formular )
SELECT [Inhalt] AS Expr1, [Formular] AS Expr2;
PARAMETERS Inhalt Text ( 255 ), Formular Short; …Run Code Online (Sandbox Code Playgroud) 我正在 Access 2013 中工作,并尝试获取 VBA 的 GetRawInputDeviceList、GetRawInputDeviceInfo、RegisterRawInputDevices 和 GetRawInputData 等效项,但没有成功。我还徒劳地搜索了一个程序、函数或模块来获取连接到计算机的 HID 设备列表以挑选条形码扫描仪。这是第三周的开始,所以我跪下来乞求帮助。你们中是否有人愿意分享一个模块,一个处理此问题的网站链接?任何帮助是极大的赞赏。
ms-access-2013 ×10
ms-access ×7
vba ×5
access-vba ×1
adodb ×1
attachment ×1
database ×1
ddl ×1
oledbcommand ×1
vb.net ×1