2014-03-26 4 views
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 
+0

가능한 중복 http://stackoverflow.com/questions/22646849/vbs-passing-parameters -weird-behavior) – HansUp

+0

그것은 dup이지만 올바른 태그를 추가하기 위해 생성되었다고 가정합니다. 위의 코드는 VBS 파일을 만드는 것처럼 보입니다. 검토를 위해 VBS 파일 중 하나의 내용을 게시하십시오. – Sorceri

+0

예, 복제본입니다. 올바른 태그를 추가하기 위해 여기로 옮겼지만 거기에서 삭제되지 않았습니다. – Shakka

답변

0

감사 파일 안에 무엇인가, 나는 이미 답을 발견했다. 나는 나의하여 DoCmd 끝에 acFormEdit을 추가하고 아래 확인 일 :

DoCmd.OpenForm "Issue Details", , , "[ID] = " & mrbid, acFormEdit 
([매개 변수 이상한 행동을 통과 VBS]의