Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: schnalli am Oktober 18, 2013, 11:04:58

Titel: Anzah der importierten Daten Anzeigen lassen
Beitrag von: schnalli am Oktober 18, 2013, 11:04:58
Hallo Access-Gemeinde.

Ich glaube ich stehe auf der Leitung.
Ich importiere Daten von Excel in eine Tabelle in Access. Wie kann ich die Anzahl der Daten die importiert wurden anzeigen lassen.

mein Code lautet:

Private Sub Antragdatenimport_Click()

If MsgBox(prompt:="Wollen sie Daten importieren?", Buttons:=vbYesNo + vbQuestion) = vbNo Then
Exit Sub
End If
If MsgBox(prompt:="Daten wo die PersNr oder PolKz" & vbCrLf & "sich schon in der Datenbank befinden," & vbCrLf & "werden NICHT IMPOTIERT!", Buttons:=vbOKOnly + vbQuestion) = vbNo Then
Exit Sub
End If
DoCmd.SetWarnings False
DoCmd.RunMacro "Datentransfer_in_T_Person"
                       
                       
End Sub

Bitte um Eure Hilfe.
Danke Ernst
Titel: Re: Anzah der importierten Daten Anzeigen lassen
Beitrag von: bahasu am Oktober 18, 2013, 16:16:01
Hi Ernst,

Private Sub Antragdatenimport_Click()
   Dim Anzahl_Daten_vor_Importieren As Long
   Dim Anzahl_Daten_nach_Importieren As Long
   
   If MsgBox(prompt:="Wollen sie Daten importieren?", Buttons:=vbYesNo + vbQuestion) = vbNo Then Exit Sub
   If MsgBox(prompt:="Daten wo die PersNr oder PolKz" & vbCrLf & "sich schon in der Datenbank befinden," & vbCrLf & "werden NICHT IMPOrrrrrrTIERT!", Buttons:=vbOKOnly + vbQuestion) = vbNo Then Exit Sub

   
   Anzahl_Daten_vor_Importieren = Me.RecordsetClone.RecordCount
   
   DoCmd.SetWarnings False     ' wenn Du das ausschaltest, sollte es später auch wieder reaktiviert werden
   DoCmd.RunMacro "Datentransfer_in_T_Person"
   DoCmd.SetWarnings True
   
   Anzahl_Daten_nach_Importieren = Me.RecordsetClone.RecordCount
   
   MsgBox "Anzahl Importierter Daten = " & Nz(Anzahl_Daten_nach_Importieren, 0) - Nz(Anzahl_Daten_vor_Importieren, 0)
End Sub




Ich setze voraus, dass das ganze in einem Formular steht, bei dem eine Datenquelle hinterlegt ist, die die Tabelle enthält, in die importiert werden soll.


Harald
Titel: Anzah der importierten Daten Anzeigen lassen
Beitrag von: schnalli am Oktober 18, 2013, 22:27:13
Hi Harald

Danke für die rasche Hilfe. Habe den Code übernommen und anstelle dem Makro >TransferSpreadsheet< eingebaut, damit du auch die Tabelle erkennst.
Habe es auch in das Formular Personen, was die Datenquelle (t_Person) hat, mit einem Button eingebaut. (siehe Code)
Beim ausführen importiert er die Daten, Zeigt mir aber 0 importierte Daten an.
Wo kann der Fehler sein?


Private Sub Antragdatenimport_Click()
   Dim Anzahl_Daten_vor_Importieren As Long
    Dim Anzahl_Daten_nach_Importieren As Long
   
    If MsgBox(prompt:="Wollen sie Daten importieren?", Buttons:=vbYesNo + vbQuestion) = vbNo Then Exit Sub
    If MsgBox(prompt:="Daten wo die PersNr oder PolKz" & vbCrLf & "sich schon in der Datenbank befinden," & vbCrLf & "werden NICHT IMPORTIERT!", Buttons:=vbOKOnly + vbQuestion) = vbNo Then Exit Sub

   
    Anzahl_Daten_vor_Importieren = Me.RecordsetClone.RecordCount
   
    DoCmd.SetWarnings False     ' wenn Du das ausschaltest, sollte es später auch wieder reaktiviert werden
   
    DoCmd.TransferSpreadsheet acImport, 8, "t_Person", "D:\Allg\Einstellgenehmigung\Datenimport\Antrag.xls", True, ""
   
    DoCmd.SetWarnings True
   
    Anzahl_Daten_nach_Importieren = Me.RecordsetClone.RecordCount
   
    MsgBox "Anzahl Importierter Daten = " & nz(Anzahl_Daten_nach_Importieren, 0) - nz(Anzahl_Daten_vor_Importieren, 0)
End Sub



Grüße Ernst
Titel: Re: Anzah der importierten Daten Anzeigen lassen
Beitrag von: bahasu am Oktober 18, 2013, 22:55:22
Hi,

probier mal, was die zusätzliche Zeile bringt:

DoCmd.SetWarnings True
Me.Requery   
Anzahl_Daten_nach_Importieren = Me.RecordsetClone.RecordCount

Harald
Titel: Anzah der importierten Daten Anzeigen lassen
Beitrag von: schnalli am Oktober 18, 2013, 23:16:23
Hi Harald

Danke - das war es! Die Aktualisierung hat es gebracht. Und man muss aufpassen, dass man es vom letzten Datensatz ausführt,
sonst wird falsch gerechnet.

Danke Ernst
:)
Titel: Anzah der importierten Daten Anzeigen lassen
Beitrag von: schnalli am Oktober 18, 2013, 23:26:48
Hi Harald

Zusätzlich habe ich > DoCmd.GoToRecord acForm, "f_Personen", acLast < eingebaut.
Er hat nur beim ersten Import (wenn noch keine Daten aufgenommen wurden) einen Rechenfehler.

Grüße Ernst