Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Von einer Form die andere Form öffnen und Daten übergeben

Begonnen von nazo91, Mai 19, 2016, 09:44:19

⏪ vorheriges - nächstes ⏩

nazo91

Hallo,

ich bin grad dabei eine Datenbank zu erstellen.

Ich habe zwei Formulare. Einmal Kunde und einmal Anfrage.

Kunde: KundenID, Firma, Ort, Ansprechpartner, usw.
Anfrage: Vorgangsnummer, KundenID, Firma, Ansprechpartner, Datum usw.

Ich möchte von meinem Formular Kunde in dem ich auf ein Button klicke oder auf z.B. Kunden ID klicke auf mein Formular Anfrage kommen. Dabei soll es mir die Daten die im Formular Kunde bereits eingegeben worden sind in das Formular Anfrage übernommen werden. Das bedeutet die KundenID von Kunde  soll durch das "springen" auf das Formular Anfrage die "KundenID" übernehmen.

Ich bin noch ein Anfänger und weiß noch nicht wie ich damit umgehen soll.
ich habe bis jetzt diesen Code eingefügt:


Private Sub KundenID_DblClick(Cancel As Integer)
Forms!fmlAnfrage.KundenID = Me.KundenID
DoCmd.OpenForm "fmlAnfrage", , , "KundenID =" & Me!KundenID & ""
DoCmd.RunCommand acCmdSaveRecord

DoCmd.OpenForm "fmlAnfrage", , , "KundenID =" & Me!KundenID & ""
DoCmd.GoToRecord acDataForm, "fmlAnfrage", acNewRec
Forms!fmlAnfrage.KundenID = Me.KundenID
DoCmd.RunCommand acCmdSaveRecord
End Sub

er öffnet das Formular übernimmt die KundenID auch aber z.B. Ansprechpartner und Firma werden nicht übernommen

Vielen Dank im Voraus!
LG naz

MzKlMu

Hallo,
Zitatauch aber z.B. Ansprechpartner und Firma werden nicht übernommen
das ist auch völlig überflüssig. Die KundenID reicht. Die anderen Felder aus der Kundentabelle werden über Abfragen dargestellt. Das ist ja der Sinn einer ID (Primärschlüssel-Fremdschlüssel), redundante Daten zu vermeiden.

Und wenn Du das Ganze noch mit einem Hauptformular (Kundendaten) und einem über die Schlüsselfelder verknüpften Unterformular machst, geht das alles automatisch, ohne einen Buchstaben VBA.

Hat eine Firma nur ein Ansprechpartner ?
Gruß Klaus

nazo91

Hey danke für deine schnelle Antwort!
Ja stimmt.. hast recht!

Hat eine Firma nur ein Ansprechpartner ?
[/quote]

Nein es sind zwei Ansprechpartner aber das kommt in den anderen Tabellen vor.
Also die Datenbank muss so aufgebaut werden.
Ich habe Kunden dann kommt eine Anfrage rein. Wenn die Anfrage reinkommt klicke ich auf den Kunden und dann die Person die fehlenden Felder eintragen z.B. Datum usw. Dann wenn die Anfrage ausgefüllt ist, dann muss ein Angebot erstellt werden. Diesen Angebot erstellt sie zwar separat gibt aber in der Datenbank die Angebotsnummer, wieder die KundenID und Datum ein.
Und dann kommt der nächste Reiter usw.

Deswegen hab ich mir gedacht ok wenn ich auf die KundenID klicke dann soll Anfrage geöffnet werden und von der Anfrage an fängt der Prozess an. Also ich mach dann ein Pfeil in das Formular Anfrage rein und wenn ich drauf klicke bin ich auf meinem Formular Angebot und kann das dann ausfüllen.

Is das zu sehr umständlich??

Könnte man es anders machen??

Das Ziel ist es eigtl. dass ich dann am schluss eine Übersicht habe was alles erledigt wurde und was noch offen ist.

LG Naz

MzKlMu

Hallo,
ZitatKönnte man es anders machen??
habe ich Dir doch schon geschrieben:
ZitatUnd wenn Du das Ganze noch mit einem Hauptformular (Kundendaten) und einem über die Schlüsselfelder verknüpften Unterformular machst, ....

Zeige mal ein Bild des Beziehungsfensters. Ich fürchte, da liegt noch einiges im Argen.
Gruß Klaus

nazo91


MzKlMu

Hallo,
da gibt es einige Ungereimtheiten.
- Firma und Ansprechparten in tblAnfrgae überflüssig
- Was macht die Tabelle Bestellprüfung, gibt es zu einem Bestellungseingang tatsächlich mehrere Prüfungen ?
- Wieso wurde die Tabelle Bestellprüfung 2x verendet ?
- Ebenso die Tabelle tblLeistungserbringung
- Die KundenID in der Tabelle tblSAPAuftrag ist überflüssig. Den Bezug zum Kunden ergibt sich bereit über die Bestellung
- Die Tabelle tblRechnung hat keine Beziehung zum Kunden.
- Du solltest in Feld und Objektnamen grundsätzlich keine Leer und Sonderzeichen verwenden.

"Monatsabschluss Rechnung erstellt und versand" u. andere sind eine Katastrophe, spätestens wenn Du solche Feldnamen in VBA, SQL oder als Formel schreiben musst, wirst Du das noch heftig bedauern. Abgesehen davon müssen um solche Namen immer ein [] Klammerpaar.
Gruß Klaus

nazo91

Zitat von: MzKlMu am Mai 19, 2016, 11:51:54
Hallo,
da gibt es einige Ungereimtheiten.
- Firma und Ansprechparten in tblAnfrgae überflüssig
ZitatJa stimmt, aber die in dieser Abteilung möchten das gerne so haben, deshalb muss ich es drin lassen

- Was macht die Tabelle Bestellprüfung, gibt es zu einem Bestellungseingang tatsächlich mehrere Prüfungen ?

ZitatDie Tabelle Bestellprüfung prüft die Bestellungen die eingegangen sind. Stimmt ich tu eine Bestellung nur einmal prüfen... also hab ich eine 1:1 Beziehung?

- Wieso wurde die Tabelle Bestellprüfung 2x verendet ?
- Ebenso die Tabelle tblLeistungserbringung
ZitatDas war ein Fehler von mir ...


- Die KundenID in der Tabelle tblSAPAuftrag ist überflüssig. Den Bezug zum Kunden ergibt sich bereit über die Bestellung
ZitatOk..

- Die Tabelle tblRechnung hat keine Beziehung zum Kunden.
Zitatsoll dann bei der tbl Rechnung auch die KundenID rein?

- Du solltest in Feld und Objektnamen grundsätzlich keine Leer und Sonderzeichen verwenden.
ZitatOk..das tue ich ändern

"Monatsabschluss Rechnung erstellt und versand" u. andere sind eine Katastrophe, spätestens wenn Du solche Feldnamen in VBA, SQL oder als Formel schreiben musst, wirst Du das noch heftig bedauern. Abgesehen davon müssen um solche Namen immer ein [] Klammerpaar.

Zitatja ich weiß aber die in der Abteilung möchten das so ... das ist bei mir ein Feld mit Ja/Nein
also bei der Tabelle Bestellprüfung geht es nur darum ob es enthalten ist oder nicht...also Ja/Nein





Ich habe bereits die Anfrage als Unterformular hinzugefügt und das klappt bestens dankeschön.

Jetzt muss ich ja von der Anfrage zum Angebot. Und sie möchte nicht dass ich alles als Unterformulare habe... Kann ich dann z.B. durch ein Button auf das Formular Angebot springen und hier ebenfalls die Daten mit übernehmen?? also die KundenID

MaggieMay

#7
Hi,
ZitatJa stimmt, aber die in dieser Abteilung möchten das gerne so haben, deshalb muss ich es drin lassen
Du kannst die Daten im Formular mit der Anfrage ja auch anzeigen, indem du sie aus der Kundentabelle hinzuholst.
Die doppelte Speicherung sollte aber unbedingt vermieden werden - es sei denn, es gibt gute Gründe dafür.

Zitat- Die Tabelle tblRechnung hat keine Beziehung zum Kunden.
Zitatsoll dann bei der tbl Rechnung auch die KundenID rein?
Die Rechnung bezieht sich auf einen Auftrag und der Auftrag enthält den Kunden, also ist der Kunde in der Rechnungstabelle überflüssig.

Zitataber die in der Abteilung möchten das so
Die Namen der Datenfelder gehen niemanden etwas an. Was nach außen sichtbar wird, ist eine andere Sache, die Tabellen darf sowieso niemand direkt ansehen. Wenn du Gebrauch machst von der Beschriftungseigenschaft bei den Tabellenfeldern, wird diese bei Erstellung von Formularen und Berichten für die Bezeichnungsfelder verwendet.
Freundliche Grüße
MaggieMay

nazo91

okay vielen Dank für deine Antwort...
Werde ich alles abändern :)
sobald ich die Beziehungen geändert habe könnte ich sie dir nochmal zeigen ob es stimmt?

LG Naz

MzKlMu

Hallo,
ZitatJa stimmt, aber die in dieser Abteilung möchten das gerne so haben, deshalb muss ich es drin lassen
redes es denen aus, die müssen das ja auch gar nicht sehen. Du handelst Dir nur potentielle Fehlerquellen ein. Wenn die Daten über eine Abfrage mit beiden Tabellen dargestellt werden, sieht niemand mehr wo die Felder herkommen.
ZitatStimmt ich tu eine Bestellung nur einmal prüfen... also hab ich eine 1:1 Beziehung?
wenn es nur eine Bestellprüfung zu einer Bestellung gibt, so ist diese Tabelle überflüssig, deren Felder gehören in die Tabelle Bestellung. Und in diese Tabelle muss dann die KundenID als Fremdschlüssel zum Kunden (und natürlich auch die Beziehungslinie).

ja ich weiß aber die in der Abteilung möchten das so. Was auf dem Formular als Bezeichnung steht kann ganz anders sein als das Tabellenfeld.
"MoAbschlErstVersa" als Feldname und "Monatsabschluss Rechnung erstellt und versand" als Bezeichnungsfeld und schon ist beiden genüge getan.
ZitatKann ich dann z.B. durch ein Button auf das Formular Angebot springen und hier ebenfalls die Daten mit übernehmen?? also die KundenID
Ja, das geht.
Aber trotzdem solltest Du über Unterformulare nachdenken. Ich glaube sie (wer immer das ist) wissen nicht um deren Möglichkeiten.
Man kann die Unterformulare in Registern anordnen (Register1: Anfragen, Register2: Angebote) und hat so zu einem Kunden dessen komplette Übersicht in einem Formular sehr komfortabel und übersichtlich.

Um fasst eigentlich ein Angebot immer nur eine Position (Artikel) ?
Mehr geht nämlich nicht bei Deinem Datenmodell ?

Und ich habe schon mal gefragt, gibt es zu einer Firma nur einen Ansprechpartner ?
Bei deinem Datenmodell kann es nicht mehr geben.

PS:
Bitte achte darauf, dass nicht ganze Beiträge als Zitat markiert sind.
Gruß Klaus

nazo91

sorry das ich immer Zitate gemacht habe  :-\

Zitatredes es denen aus, die müssen das ja auch gar nicht sehen. Du handelst Dir nur potentielle Fehlerquellen ein. Wenn die Daten über eine Abfrage mit beiden Tabellen dargestellt werden, sieht niemand mehr wo die Felder herkommen.

okey das mach ich :)


Zitatwenn es nur eine Bestellprüfung zu einer Bestellung gibt, so ist diese Tabelle überflüssig, deren Felder gehören in die Tabelle Bestellung. Und in diese Tabelle muss dann die KundenID als Fremdschlüssel zum Kunden (und natürlich auch die Beziehungslinie).
ja hast recht...ich muss es mal mit ihr bereden..aber ich denke das ist in Ordnung.


ZitatJa, das geht.
Aber trotzdem solltest Du über Unterformulare nachdenken. Ich glaube sie (wer immer das ist) wissen nicht um deren Möglichkeiten.
Man kann die Unterformulare in Registern anordnen (Register1: Anfragen, Register2: Angebote) und hat so zu einem Kunden dessen komplette Übersicht in einem Formular sehr komfortabel und übersichtlich

stimmt ich finde Unterformulare auch besser...ich werde das auch nochmal mit ihr besprechen. Über Register hatte ich mir noch keine Gedanken gemacht danke für die Info!!

ZitatUm fasst eigentlich ein Angebot immer nur eine Position (Artikel) ?
Mehr geht nämlich nicht bei Deinem Datenmodell ?

also die Artikel werden gar nicht in dieser Datenbank angelegt. Sie will nur in der Datenbank speichern, dass sie ein Angebot erstellt hat mit folgenden Infos und verschickt hat...aber welche Artikel usw. das will sie nicht haben

ZitatUnd ich habe schon mal gefragt, gibt es zu einer Firma nur einen Ansprechpartner ?
Bei deinem Datenmodell kann es nicht mehr geben.

emm Ansprechpartner haben wir die externen Kunden und bei der Leistungserbringung aber auch die internen Mitarbeiter.

Danke danke wirklich bin mit meinen Gedanken echt viel weiter gekommen!!


MzKlMu

Hallo,
Zitatemm Ansprechpartner haben wir die externen Kunden und bei der Leistungserbringung aber auch die internen Mitarbeiter.
das beantwortet nicht meine Frage.
Ich wollte wissen, ob es zu einer Firma nur einen Ansprechpartner geben kann. Üblicherweise gibt es da ja mehrere.
Gruß Klaus

nazo91


nazo91

Hallo,
hab jetzt die Beziehungen und Tabellen geändert.

Ist das so in Ordnung??
LG Naz

MaggieMay

Sorry, aber die Beziehungen sind eine Katastrophe, da ist ja kaum eine (wenn überhaupt) richtig angelegt.
Freundliche Grüße
MaggieMay