Access - Datei öffnen mit variablen Namen

Tante Emma

Grand Admiral Special
Mitglied seit
25.05.2006
Beiträge
3.568
Renomée
143
Standort
Berlin-Hellersdorf
  • Spinhenge ESL
Ich habe da ein kleines Problem. Ich schreibe meine Angebote/Rechnungen mit Excel. Dort sind zwei Macros eingebaut. Eins erhöht auf Nachfrage beim Öffnen die Rechnungs/Anbgebotsnummer. Das zweite Macro speichert auf Klick auf Button eine Kopie in einem festgelegtem Ordner:

Private Sub CommandButton1_Click()

Dim strVerzeichnis As String
Dim strDateiname As String
strVerzeichnis = "Z:\servicedienst-berlin\Dokumente\Rechnungskopien\2010\"
strDateiname = Application.GetSaveAsFilename(InitialFileName:=strVerzeichnis & _
Range("B21") & Range("A149") & Range("C29") & ".xls", _
FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls")
Select Case strDateiname
Case False
Exit Sub
Case Else
ThisWorkbook.SaveAs Filename:=strDateiname
End Select
End Sub


Der Dateiname lautet dann (Muster) 20090065 - Fam. Mustermann Musterstr 14, 12xxx Berlin.xls

Soweit so gut.
Nun arbeite nun an einer Access Datenbank und möchte nun die Angebots/Rechnungschreiberei dort integrieren.

Bisher gehe ich in den entsprechenden Ordner,rufe die letrzte Rechnungsnummer auf,die Rechnungsnummer wird um eins erhöht, Rechnung geschrieben, Kopie gespeichert und fertig.

Wenn ich nun in Access die letzte Rechnung öffnen möchte habe ich jedes Mal einen anderen Dateinamen, der sich aus Rechnungsnummer und Rechnungsanschrift zusammensetzt. Wie bekomme ich das nun in Access hin, das ich immer die letzte Datei mit der aktuellen Rechnungsnummer geöfnet bekomme, obwohl sich der Dateiname immer unterscheidet?
 
Dafür hast du zwei Möglichkeiten - entweder eine Tabelle in der du jeder Rechnungsnummer (Primärschlüssel) einen Dateinamen zuweist, dann ist der Dateiname über einen einfachen SELECT zu ermitteln, oder du musst den Dateinamen jedes Mal dynamisch aus Rechnungsnummer und Rechnungsanschrift, die dann ebenfalls in der Datenbank gespeichert sein muss, generieren.

Edit: mir fällt noch eine Möglichkeit ein: beim Speichern erzeugst du einen Link auf die Datei namens "current" oder so ähnlich und schaust darin nach. Oder du legst diesen Link in der Datenbank ab.
 
Du schreibts die Rechnungsnummern sind fortlaufend und aufsteigend.
Wie wäre es in Access dann die Rechnung zu öffnen mit der grössten Rechnugsnummer.

Das geht z.B. mit API FindFirstFile / FindNextFile. Damit kann die Dateien in ein oder mehrern Verzeichniss auflisten. (und diese Auflistung dann nach grösster Rechnugsnummer durchsuchen).

Hier mal ein Link zu nem Beispiel in VB6 (ist zu Access doch recht ähnlich):
httx://wwx.activevb.de/tipps/vb6tipps/tipp0266.html

ARGL, Links funzen erst ab 5 Beiträgen.:(
 
Zurück
Oben Unten