2017-07-27 3 views
0

Ich habe ein Access-Frontend mit SQL-Tabellen und Prozeduren. Ich habe versucht, herauszufinden, das Beste, was wir ein Meldungsfeld erhalten, um dem Benutzer zu sagen, wie viele Datensätze über die SQL-Prozedur hinzugefügt wurden.Subtrahieren von VBA-Variablen

Private Sub cmdAddReconciliationRecords_Click() 
    reccount1 
    AddReconciliationRecords 
    Reccount2 
End Sub 

Public Sub reccount1() 
    Dim db As DAO.Database 
    Dim Rec1 As Integer 

    Set db = CurrentDb 
    Rec1 = DCount("*", "dbo_reconciliation") 
    msgBox Rec1 & "Records" 'I will take this out once I get it to work 
End Sub 

‚Dann wird die Prozedur AddReconciliationRecords läuft anhängt Aufzeichnungen

Public Sub Reccount2() 
    Dim db As DAO.Database 
    Dim Rec1 As Integer 
    Dim rec2 As Integer 
    Dim tot As Integer 

    Set db = CurrentDb 
    rec2 = DCount("*", "dbo_reconciliation") 
    tot = rec2 - Rec1 
    msgBox tot & " records added." 
End Sub 

Die Ergebnisse Ich bin immer ist die Gesamtzahl der Datensätze anstelle der Differenz zwischen der Datensatznummer I mit und die Rekordzahl begann ich beendet mit. Vielen Dank für Ihre Hilfe.

+2

Im zweiten Unter, initialisieren Sie nie 'Rec1'so standardmäßig rec2 es ist 0, so dass Sie immer tun' - 0 '. – litelite

+0

Warum haben 'AddReconciliationRecords' nicht einfach gesagt, wie viele Datensätze es eingefügt hat? – litelite

+0

Es macht nichts, ich fand die Antwort buchstäblich 5 Minuten nach dem Posten und ich habe einen Tag damit verbracht, herauszufinden, wie ich die Anzahl der angehängten Datensätze ermitteln kann. – Matt

Antwort

0

Ja, ich musste sie in den gleichen Sub und sie funktionierte. Tut mir leid, ich bin neu in diesem Zeug.

Private Sub AddReconciliationRecords() 
Dim oConnStr As String 
Dim oConn As ADODB.Connection 
Dim cmd As ADODB.Command 
Dim recSet As ADODB.Recordset 
Dim recSetStr As String 
Dim db As DAO.Database 
Dim Rec1 As Integer 
Dim Rec2 As Integer 
Dim Tot As Integer 

Set db = CurrentDb 
    Rec1 = DCount("*", "dbo_reconciliation") 
    msgBox Rec1 & "Records" 

'*****blocking server info 

Set oConn = CreateObject("ADODB.Connection") 
oConn.Open oConnStr 

Set cmd = New ADODB.Command 
cmd.ActiveConnection = oConn 
cmd.CommandType = adCmdStoredProc 
cmd.CommandText = "AddReconciliationRecords" 
cmd.CommandTimeout = 300 

cmd.Execute 

oConn.Close 

Rec2 = DCount("*", "dbo_reconciliation") 
Tot = Rec2 + -Rec1 
msgBox Tot & " records added." 

End Sub