Seite 1 von 1
Erstellung Kundensystem mit Base
Verfasst: Mi, 05.10.2005 20:26
von PaffDZD
Ich weiß, ich hätte die Arbeit mit Datenbanken nicht so weit vor mir her schieben sollen. Aber jetzt ist es so weit. :-/
Ich muss mir ein Kundensystem erstellen indem alle wichtigen Kundendaten, die zugehörigen Verträge und alle Rechnungen gespeichert werden.
Die 3 Tabellen Kundenstamm, Verträge, Rechnungen habe ich bereits erstellt.
3 Formulare zum Bearbeiten der einzelnen Tabellen auch.
Wie kann ich das bewerkstelligen, dass ich, wenn ich einen Kunden suchen will, nur die Kundenummer oder den Namen eingeben muss und mit einem "Klick" auf einen Button dich alle anderen Daten ergänzen, ohne dass ich die den Assistenten für Abfragen benutze.
Ich habe zwar noch mehr Problemchen, aber erst einmal brauche ich dabei ein wenig Hilfe. Vielleicht klärt ich ja dann auch schon wieder einiges von selbst.
Vielen Dank schon einmal im Voraus.

Verfasst: So, 09.10.2005 15:43
von egottfried
hallo, ich hatte das gleiche Problem und kann vielleicht helfen.
Da ich bald richtig mit meiner Datenbank arbeiten will habe ich jetzt OpenOffice 2.0 RC1 heruntergeladen, dort sind mit Sicherheit wieder einige Bugs der Beta-Version beseitigt. Meine Datenbank wurde damit unter Base im Office-eigenen HSQLDB-Format erstellt. Bei weiteren Fragen solltest du Version und Datenbankformat nennen. Zu deinem Anliegen:
Der gesuchte Name wird ins Suchfeld eingetragen und das folgende Makro gestartet:
Code: Alles auswählen
Sub Filter
Dim suchtext As String
oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0)
oFeld = oForm.getByName("Suche")
suchtext = oFeld.text
oForm.Filter = "(" + """Name""" + "=" + "'" + suchtext + "'"+ ")"
oForm.reload
End Sub
Das Ausschalten des Filters:
Code: Alles auswählen
Sub FilterAus
oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0)
oFeld = oForm.getByName("Suche")
oForm.Filter = ""
oFeld.text = ""
oForm.reload
End Sub
Wenn z.B. "Müller" ins Suchfeld eingetippt wird, ergibt die Zeile oFormFilter = im Eigenschaftsfenster des Formulars den Eintrag ("Name" = 'Müller') und filtert diesen Namen heraus. Ich habe lange experimentiert, bis ich den Code soweit hatte, diese Form wiederzugeben. Ich hoffe es hilft dir weiter.
egottfried
Verfasst: So, 09.10.2005 15:47
von egottfried
Nachtrag:
die Makros "Filter" und "FilterAus" werden mit getrennten Schaltfflächen gestartet.
egottfried
Verfasst: Do, 08.12.2005 21:29
von agrupe
Hi,
ich arbeite auch gerade am gleichen Problem.
Ich habe einfach alle Tabellen miteinander verknüpft und kann nun, wenn ich die Datenquellenansicht einschalte einfach den gewünschten Kunden bzw. das gewünschte Produkt per Drag&Drop in mein Rechnungsformular hineinziehen. Das finde ich recht elegant, zumal das Drag&Drop nur dort funktioniert, wo die Verknüpfung (Relation) definiert wurde. In allen anderen Feldern ist es nicht möglich.
Vielleicht habt Ihr auch einen Tipp für mich:
Anschließend stehen im Rechnungsdatensatz zwar die Kundennr und die Produktnummern aber wie bekomme ich einen schönen Rechnungsausdruck hin? Mit den Berichten erhalte ich nur ein Listing einer Tabelle, das hilft mir nichts.
Schönen Abend!
Andreas
Verfasst: Fr, 09.12.2005 14:45
von agrupe
Ich habe jetzt noch einmal mit dem System rumgespielt und bin mittlerweile etwas weiter. Wie immer ist das A&O die Tabellenstruktur (und deren Normaklisierung).
Hier daher meine Relationen:

<p>
Damit war ich in der Lage beliebige Felder aus einer Tabelle in eine andere per Drop-Down Menü zu übernehmen.
Momentan arbeite ich an einem Doppelformular. Im oberen Teil die Tabelle Rechnungen und darunter die der jeweiligen Rechnung zugeordneten Datensätze. Sobald ich auf einen Satz der oberen Tabelle klicke, ändert sich unter der dazugehörige Datenbestand. Damit kann eine Rechnung beliebig viele Artikel aber nur einen Kunden beinhalten. So far so good.

<p>
In dieser Maske sieht man das Feld "Kunde", das per Drop-Down Menü aus der Tabelle Kunde hier in die Tabelle Rechnungen eingebaut wird.

<p>[/img][/list]
Ich würde mich freuen, wenn andere, die ähnliche Aktionen vor bzw hinter sich haben hier ein paar Tipps geben.
Ich weiß immer noch nicht, wie ich letztendlich die Rechnungsdatensätze ausdrucken kann.
CU!
Andreas