是否可以将我的MS访问表作为存储数据的集中位置
我有一个mdb访问文件,使用表单将数据存储到表中.
是否可以将数据输入集中位置?
这个mdb文件副本由五个用户同时使用
请帮忙 !
在MSAccess中,我有一个带按钮的面具.当用户单击该按钮时,表中的数据将导出到.txt文件中:
Private Sub Command_Click()
Dim Rst As DAO.Recordset
Dim AField As DAO.Field
Dim TempStr As String
Dim FileNumber
FileNumber = FreeFile
Open "c:\table.txt" For Output As #FileNumber
Set Rst = CurrentDb.OpenRecordset("Tabella1", dbOpenForwardOnly)
Do While Not Rst.EOF
For Each AField In Rst.Fields
If (AField.Name <> "ID") Then
TempStr = TempStr & AField.value & " "
End If
Next
Print #FileNumber, Left(TempStr, Len(TempStr) - 1)
TempStr = ""
Rst.MoveNext
Loop
Rst.Close
Set Rst = Nothing
Close #FileNumber
End Sub
Run Code Online (Sandbox Code Playgroud)
它可以工作,但我会显示一个"另存为..."对话框,允许用户选择导出数据的文件.
可能吗?
这个
DoCmd.OpenForm fnew, , , , , acDialog
Run Code Online (Sandbox Code Playgroud)
似乎由于某种原因似乎没有停止代码执行.是因为我正在调用具有此方法的函数来自另一个函数并且正在弄乱它吗?例如
func1
<code>
Call func2
<func2 code>
DoCmd.OpenForm fnew, , , , , acDialog
<back to func1 code that executes even though i dont want it to until the form closes>
Run Code Online (Sandbox Code Playgroud) 我有一个VBA模块,可以根据MS Access临时表创建2个Excel电子表格.
每次创建第二个Excel电子表格时,都会出现一个Excel兼容性检查器弹出窗口.我希望每次循环运行时在这个弹出窗口中自动"点击""继续".我该怎么做呢?
请参阅'Add step to click (Continue) button on pop-up window以下代码中的部分:

Function ADMIN_Resource()
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
Set cn = CurrentProject.Connection
Dim rowcount As Long
Dim tblcount As Integer
Dim i As Integer
DoCmd.SetWarnings False
'*****************************************************************************************************************************************************************
' Data pull from source ACCESS DB
'*****************************************************************************************************************************************************************
'On Error GoTo ErrorHandler
'Pull in all data from ACTUAL_ADMIN_TABLE into Main Temp Table
SQL = "SELECT Project_ID, Resource_ID, Allocation_Year, Jan, Feb, Mar, Apr, May, " & …Run Code Online (Sandbox Code Playgroud) 我有一个访问数据库,其中包含一些每日更新一些值的表.我需要表格有一个ID字段,当从excel导入表格的其他值时,该字段会自动生成.我希望通过保留按钮和编写VBA代码来自动完成所有操作.现在我有一个将值导入表中的表单,但它只导入了我所拥有的确切值.我还需要一个额外的ID列,在导入时必须自动生成.请帮我.
Excel表格样本:
ProductName | ProductValue
------------+------------------
ABC | 76
SDF | 87
Run Code Online (Sandbox Code Playgroud)
数据库表
ID | ProductName | Product Value
----+---------------+-----------------
1 | ABC | 76
2 | SDF | 87
Run Code Online (Sandbox Code Playgroud)
Excel工作表使用新值更新每个日期,并且必须将其放入访问数据库,ID会自动递增.
我试图获得一个按钮,当我单击该按钮时将其从“左箭头”更改为“右箭头”,但是我不确定如何通过VBA分配图像。我试过了Me!btnCollapseUnscheduled.Picture = "Arrow Left",但是这样会收到错误消息。
Access给我一个运行时错误3075语法错误(缺少运算符).SQL在MS SQL Server 2012中有效,但在Acces中不起作用.有人能帮我吗?
码:
CurrentDb.OpenRecordset("SELECT Gebruiker.[emailadres] FROM Voorwerp INNER
JOIN Bod ON Voorwerp.[Voorwerpnummer] = Bod.[Voorwerpnummer] INNER JOIN
[Gebruiker] ON Gebruiker.[GebruikersID] = Bod.[GebruikersID] WHERE Voorwerp.
[Voorwerpnummer] = 1")
Run Code Online (Sandbox Code Playgroud)
先感谢您!
Carsten Flokstra
你好幸福友善的人!我的问题有点笼统,无论是否存在这样的问题.我正在编写一个与SQL Server交互的Excel应用程序.这是我到目前为止所写的,只是为了模仿命令INSERT - str_generate_order我必须为每个命令编写类似的东西.
我的问题是 - 是否有一个库,已经过验证和测试,使这更容易?我真的不想重新发明热水并进行测试.我是在谈论str_generate_order我的代码中的函数.代码工作得很好,只需要指定自己的代码str_connection_string即可将数据连接到数据库.很多,我需要像一个Python库(我不记得的名字),你只需要给出列和命令的名称,然后为你完成剩下的工作......或者我应该自己构建它?
Option Explicit
Public Sub GenerateDataIntoTable()
Dim str_table_name As String: str_table_name = "Main"
Dim arr_column_names As Variant
Dim arr_values As Variant
ReDim arr_column_names(6)
ReDim arr_values(6)
arr_column_names(0) = "UserName"
arr_column_names(1) = "CurrentDate"
arr_column_names(2) = "CurrentTime"
arr_column_names(3) = "CurrentLocation"
arr_column_names(4) = "Status1"
arr_column_names(5) = "Status2"
arr_column_names(6) = "Status3"
arr_values(0) = Environ("username")
arr_values(1) = Date
arr_values(2) = Time
arr_values(3) = Application.ActiveWorkbook.FullName
arr_values(4) = make_random(2, 6)
arr_values(5) = arr_values(4) + make_random(2, 6)
arr_values(6) …Run Code Online (Sandbox Code Playgroud) 我在Access with ONE按钮中有一个表单.按钮1应该将值插入(UserID,Now(),Date())到tbl字段中(UserID,Time_In,WorkDate).
按钮2应该将值插入(Now())到tbl字段中(Time_Out).
我能想到的最佳方法是使用insert/update语句; 伪语法:
If UserID = UserID and WorkDat e= Date() THEN SET Time_Out = Now()
ELSE
Insert into tbl (UserID,WorkDate,Time_In).
Run Code Online (Sandbox Code Playgroud)
尽管我已经读过Access不能很好地处理Upserts,有没有办法可以做到这一点?
我读过这个:
在MS访问中进行upserting
我不太明白这里建议的答案: MS Access UPSERT(更新/插入)SQL
提前致谢,
Jof.
在构建VBA程序时,我遇到了一个奇怪的问题.该程序接收CSV文件,并在将其吐出之前进行一些重新格式化.我遇到了程序的问题,认为两位数字大于3位数字.例如,它认为60大于120,但认识到60小于80,而100小于120.以下是我的代码片段:
if Rate < Miles and (Miles > 60 and Miles <=80) then
Rate = 80
elseif Rate < Miles and (Miles > 80 and Miles <=120) then
Rate = 120
End if
Run Code Online (Sandbox Code Playgroud)
我的文件是CSV设置如下:
90210,90201,60,61
90201,90210,60,100
Run Code Online (Sandbox Code Playgroud)
在CSV文件中,每行中的最后两个数字是我关注的内容.60s是Rate,61和100是Miles.当我运行这个程序时,它将通过第一行并将Rate从60改为80,这是正确的.问题是,当它运行第二行时,它将60作为60而不是将其更改为120.
我在这部分代码上设置了一个断点,并且变量正确读取,Rate等于60,而Miles等于100,但它跳过了该Rate = 120部分.作为一个测试我改变Rate < Miles了Rate > Miles,并且确定它读取了rate = 120线,因为它现在认为60小于100.当然,进行这种改变导致运行3位数时的其他问题,因此不是一个好的整体解决方案.有人有主意吗?
access-vba ×10
ms-access ×7
vba ×6
excel-vba ×2
sql ×2
button ×1
csv ×1
database ×1
dialog ×1
excel ×1
export ×1
forms ×1
image ×1
sql-server ×1
syntax-error ×1