标签: ms-access-2013

MS Access 2013 - 基于文本框中的值过滤列表框中的值

我制作了一个带有列表框的表单,根据查询显示了很多姓名和收件人。如何根据同一表单中的文本框过滤表单中的名称?

(并非所有名称都与每条记录相关)

ms-access ms-access-2013

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

VBA Access 检查父表单是否存在

在 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)

ms-access ms-access-2013

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

如何删除存储在 access (.accdb) 中的图像?

我试图将访问数据库的大小保持在最低限度,并且需要删除以前使用但现在不需要的几个大图像。我的理解是访问文件 (.accdb) 将图像存储在数据库中。你知道是否可以删除它以及如何删除它?TIA

澄清和解决方案:我有几个不同的背景图像的不同表单,但是此时我已经想通了(对于 Access 2013)-> 在表单设计工具下-> 设计-> 插入图像,然后右键单击您需要的图像删除,然后单击删除。完毕。

ms-access ms-access-2013

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

如何在Access 2013中运行DDL?

我需要运行DDL脚本来创建表,以将数据导入Microsoft Access。我已经制作了DDL脚本,并且已经在Oracle SQL Developer中工作,但是我也希望在Access中也可以使用。

我似乎找不到简单的方法来做到这一点。看起来Access的早期版本具有此功能。

ddl ms-access ms-access-2013

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

将图像存储到 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)

database vb.net attachment oledbcommand ms-access-2013

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

如何将MS Access查询对象导出到文本文件

在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)

但是,生成的文本文件是查询输出.它绝对不是我正在寻找的查询定义.

这里要清楚的是我试图导出到文本的图像

在此输入图像描述

有没有人对如何实现这一点有任何想法?

ms-access vba ms-access-2013

3
推荐指数
2
解决办法
5642
查看次数

集合对象 - ByRef - ByVal

我在Access 2013中使用VBA.

在常规模块中有2个程序,RunProc()PopulateCollection()

RunProc执行它调用PopulateCollection所传入的参数是一个名为收藏instace MyCol.

PopulateCollection添加3个项目,然后RunProc继续迭代Collection.

我的问题是:

我想争论MyColRunProc,以不被填充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)

vba pass-by-reference ms-access-2013

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

Access 2013项目中不存在ADODB,如何添加对它的引用

我正在尝试在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 vba adodb ms-access-2013

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

String,LongText和ShortText的长度是多少?将长文本设置为SQL参数会导致错误3001

当我在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
  • vba的文本可以有多长时间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)

ms-access vba access-vba ms-access-2013

3
推荐指数
1
解决办法
7240
查看次数

VBA 和 GetRawInputDeviceList

我正在 Access 2013 中工作,并尝试获取 VBA 的 GetRawInputDeviceList、GetRawInputDeviceInfo、RegisterRawInputDevices 和 GetRawInputData 等效项,但没有成功。我还徒劳地搜索了一个程序、函数或模块来获取连接到计算机的 HID 设备列表以挑选条形码扫描仪。这是第三周的开始,所以我跪下来乞求帮助。你们中是否有人愿意分享一个模块,一个处理此问题的网站链接?任何帮助是极大的赞赏。

vba barcode-scanner ms-access-2013

3
推荐指数
1
解决办法
1597
查看次数