Hallo zusammen,
ch möchte Angebote, Auftragsbestätigungen, Lieferschein, Rechnungen... mit Access schreiben und suche eine Lösung für folgendes Problem.
Wenn ich ein Angebot angelegt habe möchte ich gerne, dass man dieses Angebot "weiterführen" kann in eine Auftragsbestätigung. Und dann die Auftragsbestätigung in einen Lieferschein und den Lieferschein in eine Rechnung.
D.H. die Daten aus dem Angebot würden mir dann in der Auftragsbestätigung vorgeschlagen. Ich könnte diese aber noch nachträglich ändern.
Ich hatte überlegt das über einen Button zu erledigen. Also in etwa so: Man markiert das Angebot und kann dann auswählen als was man das weiterführen möchte (Auftragsbestätigung, Lieferschein, Rechnung). Dann klickt man auf den Button und es würde sich dann ein entsprechend neues Formular öffnen wo die Daten aus dem Angebot vorgeschlagen werden.
Ich füge anbei mal einen Entwurf meiner Datenbank an.
Noch zusätzlich habe ich das Problem, dass ich die verschiedenen Tabellen verwende weil noch keine passende Lösung für fortlaufene Nummerkreise gefunden habe. Ich muss für jeden Typ (AG, AB, LS, RG) einen andern Nummerkreis haben. Mit den verschiednen Tabellen würde ich das mit diesem Code regeln:
nz(DomMax("aRG_nr";"aRG");"20110000")+1
Vielleicht könnte mir mal jemand helfen...
[Anhang gelöscht durch Administrator]
Hallo,
ein komplexes Ding, das hiner deiner Anfrage steht - daher wirds auch mit den Antworten ein wenig mager aussehen. Solche Dinge hat man nicht einfach irgendwo in der Lade parat liegen :)
Ausser man hat sich damit mal beschäftigt ... ;D
Ich habe vor einigen Jahren mal so was für einen damaligen Kunden zusammengebaut, eine Kunden-, Angebots-, Auftrags- und Rechnungsverwaltung - wenn man so will.
Angebote wurden dabei ähnlich deiner Vorstellung nummeriert und in der Folge in Auftragsbestätigungen überführt.
Dazu wurden Angebote für bestimmte, auwählbare Kunden in einer Liste angezeigt und per Buttondruck zu Auftragsbestätigungen umgewandelt.
Die Bearbeitung des Angebots hinsichtlich allfälliger Änderungen vor der Überführung war optional zu wählen.
Bei der Überführung eines Angebots in eine Auftragsbestätigung wurden die ersten 2 Stellen der Angebotsnummer auf 'AB' geändert.
Zusätzlich wurde eine Auftragsbestätigung (und in der Folge natürlich auch Rechnungen) Immer als PDF Abgespeichert (in eine eigene Verzeichnisstruktur der Applikation)
Angebote und Auftragsbestätigungen blieben stets im gleichen Nummernkreis, Rechnungen bedienten hingegen einen eigenen.
Die Ausstellung von Lieferscheinen wurde nicht gewünscht.
Rechnungen wurden auf Grund von Auftragsb estätigungen - mit eigenem Nummernkreis - erstellt, wobei die Daten der AB als Grundlage diente (logischerweise)
Zusatztexte, Zahlungsbedingugen und Zahlungsziele waren optional einzugeben.
Der Nummernaufbau war : AN + 2-stelliges Jahr + 5-stellige Nummer ---> in Etwa so: AN0900123
Ich kann dir hier eine Funktion zeigen, mit der die Nummern der Angebote erzeugt wurden:
Public Function GenerateAngebot(conn As ADODB.Connection) As String
Dim rst As New ADODB.Recordset
Dim strAnNr As String
With rst
.ActiveConnection = conn
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.Open "SELECT TOP 1 Max(tblAngebote.AN_ID) AS MaxvonAN_ID, tblAngebote.AN_Nr, Right(Year([AN_Dat]),2) as x " & _
"FROM tblAngebote " & _
"GROUP BY tblAngebote.AN_Nr, tblAngebote.AN_ID, Right(Year([AN_Dat]),2) " & _
"HAVING (((Right(Year([AN_Dat]), 2)) = Right(Year(Date()), 2))) " & _
"ORDER BY tblAngebote.AN_ID DESC;"
If .RecordCount = 0 Then
strAnNr = "AN" & CStr(Right(Year(Date), 2)) & "00001"
Else
Select Case Len(Right(rst!AN_Nr, Len(rst!AN_Nr) - 4) + 1)
Case 1
strAnNr = "AN" & CStr(Right(Year(Date), 2)) & "0000"
Case 2
strAnNr = "AN" & CStr(Right(Year(Date), 2)) & "000"
Case 3
strAnNr = "AN" & CStr(Right(Year(Date), 2)) & "00"
Case 4
strAnNr = "AN" & CStr(Right(Year(Date), 2)) & "0"
Case 5
strAnNr = "AN" & CStr(Right(Year(Date), 2))
End Select
strAnNr = strAnNr & Right(rst!AN_Nr, Len(rst!AN_Nr) - 4) + 1
End If
End With
Set rst = Nothing
GenerateAngebot = strAnNr
End Function
Den Screenshot der BE-Relationen kannst du im Anhang sehen.
Vielleicht hilfts dir ein wenig weiter?
Grüße
Peter
[Anhang gelöscht durch Administrator]