0
액세스 권한이 있어야하며 내부에서 "Issue Details"라는 양식 호출에 액세스하지만 매개 변수를 전달하는 .vbs 파일을 만듭니다. 즉, "Issues"테이블에 10 개의 문제가있는 경우 각 vbs 파일이 생성되고 클릭하면 올바른 레코드를 열어야합니다 (테이블의 각 레코드에 대해 하나의 ID가됩니다). 지금까지 액세스를 여는 중이며 양식을 여는 중 (문제 세부 정보) 빈칸입니다. 나는 무엇을 놓치고 있습니까? 도움말, 여기에 미치고 ... 아래 코드를 확인하십시오. 여기서 이상한 점은 두 번 클릭하면 다시 열어 보지 않고 올바른 레코드를 새로 고치고 열 것입니다. 어떻게 해결할 수 있습니까? 내가 두 번하고 싶지 해달라고 :)Access VBA 전달 매개 변수 vbs 파일
Public Sub sendMRBmail(mrbid)
DoCmd.OpenForm "Issue Details", , , "[ID] = " & mrbid
End Sub
Private Sub Create_Click()
On Error GoTo Err_Command48_Click
Dim snid As Integer
snid = Me.ID
Dim filename As String
filename = "S:\Quality Control\vbs\QC" & snid & ".vbs"
Dim proc As String
proc = Chr(34) & "sendMRBmail" & Chr(34)
Dim strList As String
strList = "On Error Resume Next" & vbNewLine
strList = strList & "dim accessApp" & vbNewLine
strList = strList & "set accessApp = createObject(" & Chr(34) & "Access.Application" & Chr (34)")" & vbNewLine
strList = strList & "accessApp.OpenCurrentDataBase(" & Chr(34) & "S:\Quality Control\Quality DB\Quality Database.accdb" & Chr(34) & ")" & vbNewLine
strList = strList & "accessApp.Run " & proc & "," & Chr(34) & snid & Chr(34) & vbNewLine
strList = strList & "set accessApp = nothing" & vbNewLine
Open filename For Output As #1
Print #1, strList
Close #1
Err_Command48_Click:
If Err.Number <> 0 Then
MsgBox "Email Error #: " & Err.Number & ", " & "Description: " & Err.Description
Exit Sub
End If
End Sub
이 생성 된 VBS가 입력을 만든 그 모든
On Error Resume Next
dim accessApp
set accessApp = GetObject("S:\Quality Control\Quality DB\Quality Database.accdb")
accessApp.Run"sendMRBmail","231"
set accessApp = nothing
가능한 중복 http://stackoverflow.com/questions/22646849/vbs-passing-parameters -weird-behavior) – HansUp
그것은 dup이지만 올바른 태그를 추가하기 위해 생성되었다고 가정합니다. 위의 코드는 VBS 파일을 만드는 것처럼 보입니다. 검토를 위해 VBS 파일 중 하나의 내용을 게시하십시오. – Sorceri
예, 복제본입니다. 올바른 태그를 추가하기 위해 여기로 옮겼지만 거기에서 삭제되지 않았습니다. – Shakka