! Anpassung des AutoWertes nach Import!

Hallo Leute,

ich habe noch eine kleine Frage zu der ich eure Meinung gerne wüsste. Folgendes Problem:

  • man stelle sich vor ich habe eine Tabelle in Access dessen Inhalt ich aus Excel importiert habe
  • die Exceltabelle ist ca. 52 Zeilen lang
  • aber nicht alle Zeilen werden importiert
  • somit habe ich in den folgenden Code eine Löschabfrage integriert

Function Import_Abschlußjahr()
On Error GoTo Import_Abschlußjahr_Err

Dim pfad
pfad = Forms!Import!Path

DoCmd.TransferSpreadsheet acImport, 8, „Abschlußjahr“, pfad, True, „haupttabelle!A65:B66“

Beep
MsgBox „Datenimport abgeschlossen!“, vbInformation, „Datenimport aus Excel“
DoCmd.SetWarnings True

Import_Abschlußjahr_Exit:
Exit Function

Import_Abschlußjahr_Err:
MsgBox Error$
Resume Import_Abschlußjahr_Exit

End Function

  • jetzt habe ich ein kleines Problem. Die erste Spalte in der Accesstabelle ist die AutoWertNr. Nun versuche ich zu importieren die Zeilen von 1 bis 20 (z.B.) und davon befüllt sind 1,2,3,4,5 und 20. Nun erhalte ich folgende AutoWertNr „1“,„2“,„3“,„4“,„5“ und dann die „20“ ich hätte aber gerne die „6“ anstatt die „20“. Geht es irgendwie? Hätte jemand eine Lösung?

Ich danke euch!!!

Hallo.

Nun erhalte ich folgende AutoWertNr
„1“,„2“,„3“,„4“,„5“ und dann die „20“ ich hätte aber gerne die
„6“ anstatt die „20“. Geht es irgendwie? Hätte jemand eine
Lösung?

Da kannst Du noch so viele Ausrufezeichen setzen - es geht (so) nicht. Der AutoWert ist nicht zur Erzeugung schöner laufender Nummern gedacht, sondern zur Vergabe eindeutiger Datensatzidentifikationsmerkmale. Was Du machen kannst , ist, ein zusätzliches Long- oder Integer-Feld in Deiner Access-Tabelle einzubauen und mit einer Prozedur die Tabelle von vorn bis hinten durchzulaufen, um eine „echte“ laufende Nummer zu haben.

Beispiel :

Public Sub ppr\_LaufNumm()
dim lpm\_lng\_LaufNumm As Long
Dim lpm\_rst\_DatenTbl As DAO.Recordset
Set lpm\_rst\_DatenTbl = CurrentDb.OpenRecordset("DeineTabelle", dbOpenDynaset)
lpm\_lng\_LaufNumm=1
On Error Resume Next
With lpm\_rst\_DatenTbl
 .MoveFirst
 While (Not .EOF)
 .Edit
 !lng\_LaufNumm=lpm\_lng\_LaufNumm
 .Update
 lpm\_lng\_LaufNumm=lpm\_lng\_LaufNumm+1
 .MoveNext
 Wend
 .Close
End With
Set lpm\_rst\_DatenTbl=Nothing
End Sub

Gruß Eillicht zu Vensre

Danke dir vielmals,

alles suppi!