Discussion:
Datenfeld in Unterformular übernehmen
(zu alt für eine Antwort)
Bernd Fegert
2005-04-10 07:15:17 UTC
Permalink
Hallo Group,


habe hier mit meiner Datenbank ein kleines Problem: Die Datenbank besteht
aus einem Hauptformular und mehreren Unterformularen die per Code
ausgeblendet sind und per Schaltfläche eingeschaltet werden können. Die
Tabellen der Formulare sind mit jeweils einer 1:1 Beziehung verbunden. Nun
möchte ich das das Datenfeld "Kennzeichen" (= auch Primärschlüssel) vom
Hauptformular beim speichern des Datensatzes in allen anderen
Unterformularen auch gespeichert wird, wie kann ich das am besten anstellen,
habe leider nicht so viel Ahnung vom coden.
Wäre für jede Hilfe sehr Dankbar.

Viele Grüsse
Bernd
Thomas Möller
2005-04-10 08:44:48 UTC
Permalink
Hallo Bernd,
Post by Bernd Fegert
habe hier mit meiner Datenbank ein kleines Problem: Die Datenbank
besteht aus einem Hauptformular und mehreren Unterformularen die per
Code ausgeblendet sind und per Schaltfläche eingeschaltet werden
können. Die Tabellen der Formulare sind mit jeweils einer 1:1
Beziehung verbunden. Nun möchte ich das das Datenfeld "Kennzeichen"
(= auch Primärschlüssel) vom Hauptformular beim speichern des
Datensatzes in allen anderen Unterformularen auch gespeichert wird,
wie kann ich das am besten anstellen,
habe ich Dich richtig verstanden: Wenn ein neuer Hauptdatensatz gespeichert
wird, sollen auch alle Datensätze in den 1:1 verbundenen Tabellen ( mit
Standardwerten) gespeichert werden?
Das könntest Du über ein paar Anfügeabfragen, die Du aus dem Code heraus
aktivierst, erledigen.
Ansonsten melde Dich noch mal hier.

CU
--
Thomas

Homepage: www.Team-Moeller.de
Bernd Fegert
2005-04-10 08:53:12 UTC
Permalink
Hallo Thomas,

ich glaube Du hast mich richtig verstanden, das Datenfeld "Kennzeichen" das
auch Primärschlüssel ist soll in den anderen Tabellen auch gespeichert
werden, wie kann ich das per Anfügeabfrage bewerkstelligen ??


Gruß Bernd
Post by Thomas Möller
Hallo Bernd,
habe ich Dich richtig verstanden: Wenn ein neuer Hauptdatensatz
gespeichert wird, sollen auch alle Datensätze in den 1:1 verbundenen
Tabellen ( mit Standardwerten) gespeichert werden?
Das könntest Du über ein paar Anfügeabfragen, die Du aus dem Code heraus
aktivierst, erledigen.
Ansonsten melde Dich noch mal hier.
Thomas Möller
2005-04-10 13:30:07 UTC
Permalink
Hallo Bernd,
Post by Bernd Fegert
ich glaube Du hast mich richtig verstanden, das Datenfeld
"Kennzeichen" das auch Primärschlüssel ist soll in den anderen
Tabellen auch gespeichert werden, wie kann ich das per Anfügeabfrage
bewerkstelligen ??
eine Anfügeabfrage beginnt mit INSERT INTO. Schau mal mit diesem Begriff in
der OH.

Eine Aktionsabfrage mit VBA ausführen geht wie folgt:

Dim strSQL as String

strSQL = "INSERT INTO..........."
CurrentDB.Execute strSQL

HTH
--
Thomas

Homepage: www.Team-Moeller.de
Bernd Fegert
2005-04-10 13:52:43 UTC
Permalink
Hallo Thomas,

hab das jetzt soweit mit einer Aktualisierungsabfrage hinbekommen, nur wie
kann ich die jetzt automatisch starten nachdem der Datensatz im
Hauptformular gespeichert ist ??
Gibt es da eine einfache Möglichkeit ??

Danke für Deine Mühe

Grüsse Bernd
Post by Thomas Möller
Hallo Bernd,
Post by Bernd Fegert
ich glaube Du hast mich richtig verstanden, das Datenfeld
"Kennzeichen" das auch Primärschlüssel ist soll in den anderen
Tabellen auch gespeichert werden, wie kann ich das per Anfügeabfrage
bewerkstelligen ??
eine Anfügeabfrage beginnt mit INSERT INTO. Schau mal mit diesem Begriff
in der OH.
Dim strSQL as String
strSQL = "INSERT INTO..........."
CurrentDB.Execute strSQL
HTH
--
Thomas
Homepage: www.Team-Moeller.de
Thomas Möller
2005-04-10 17:22:11 UTC
Permalink
Hallo Bernd,
Post by Bernd Fegert
hab das jetzt soweit mit einer Aktualisierungsabfrage hinbekommen,
nur wie kann ich die jetzt automatisch starten nachdem der Datensatz
im Hauptformular gespeichert ist ??
Gibt es da eine einfache Möglichkeit ??
das passende Ereignis heisst After-Update.

HTH
--
Thomas

Homepage: www.Team-Moeller.de
Bernd Fegert
2005-04-10 18:50:28 UTC
Permalink
Hallo Thomas,

und wie kann ich dann die Auswahlaktualisierung "Update" aufrufen, da gibt
es doch bestimmt auch irgend einen Befehl ?

Grüsse Bernd
Post by Thomas Möller
Hallo Bernd,
Post by Bernd Fegert
hab das jetzt soweit mit einer Aktualisierungsabfrage hinbekommen,
nur wie kann ich die jetzt automatisch starten nachdem der Datensatz
im Hauptformular gespeichert ist ??
Gibt es da eine einfache Möglichkeit ??
das passende Ereignis heisst After-Update.
HTH
--
Thomas
Homepage: www.Team-Moeller.de
Winfried Sonntag
2005-04-10 19:30:56 UTC
Permalink
Bernd Fegert schrieb:

Hallo Bernd,
Post by Bernd Fegert
und wie kann ich dann die Auswahlaktualisierung "Update" aufrufen, da gibt
es doch bestimmt auch irgend einen Befehl ?
das hat Dir Thomas ja in: <etO$***@TK2MSFTNGP10.phx.gbl>
geschrieben.

Bitte lies unbedingt auch http://got.to/quote Danke. ;-)
^^^^^^^^^^^^^^^^^^^^^^
Kürze das auch am besten auf eine Zeile: http://oe-faq.de/?56FAQ:1.01


Servus
Winfried
--
Win2000-FAQ: http://w2k-faq.ebend.de
Richtig zitieren: http://got.to/quote
GPO's: www.gruppenrichtlinien.de
W2K Up2date: http://home.arcor.de/jterlinden/index.htm
Bernd Fegert
2005-04-10 19:49:04 UTC
Permalink
OK, ich werd mir mehr Mühe geben

Gruß Bernd
Bernd Fegert
2005-04-10 19:41:50 UTC
Permalink
Hallo Thomas,

sorry für meien Laienhaften Fragen, hab es jetzt hinbekommen mit:

Private Sub Form_AfterUpdate()
DoCmd.OpenQuery "Update"
End Sub


Gibt es auch eine Möglichkeit die nach dem Ereignis folgenden Meldungen mit
"JA" zu beantworten, es erscheinen die zwei folgenden Meldungen:
"Sie beabsichtigen, eine Aktualisierungsabfrage auszuführen, die Daten in
Ihrer Tabelle ändern wird.............."
Nach dem anklicken auf "JA" kommt:
"Sie beabsichtigen, ___ Zeile(n) zu aktualisieren.

Irgendwie muss das doch machbar sein dass ich die Fenster nicht immer
beantworten muss.


Viele Grüsse
Bernd
Michel Fouquet
2005-04-10 19:52:28 UTC
Permalink
Hallo,
Post by Bernd Fegert
Private Sub Form_AfterUpdate()
DoCmd.OpenQuery "Update"
End Sub
Gibt es auch eine Möglichkeit die nach dem Ereignis folgenden
Meldungen mit "JA" zu beantworten, es erscheinen die zwei folgenden
Meldungen: "Sie beabsichtigen, eine Aktualisierungsabfrage
auszuführen, die Daten in Ihrer Tabelle ändern wird.............."
"Sie beabsichtigen, ___ Zeile(n) zu aktualisieren.
Irgendwie muss das doch machbar sein dass ich die Fenster nicht immer
beantworten muss.
indem Du Dir die FAQ 2.4 zur Brust nimmst. Darin wird nicht nur die von
Thomas genannte Methode (das SQL-Statement direkt in der
AfterUpdate-Prozedur absetzen) aufgeführt.

mfg,
Michel
--
Informationen für Newbies (Neulinge) in den Access-Newsgroups
http://www.doerbandt.de/Access/Newbie.htm

FAQ: http://www.donkarl.com/AccessFAQ.htm
KnowHow.mdb: http://www.freeaccess.de/knowhow.asp
Bernd Fegert
2005-04-10 20:04:49 UTC
Permalink
Post by Michel Fouquet
indem Du Dir die FAQ 2.4 zur Brust nimmst. Darin wird nicht nur die von
Thomas genannte Methode (das SQL-Statement direkt in der
AfterUpdate-Prozedur absetzen) aufgeführt.
Hab's gefunden, das kann man unter Einstelungen/Optionen ausschalten,
trotzdem vielen Dank für Eure Hilfe.

Gruß Bernd
Michel Fouquet
2005-04-10 20:17:21 UTC
Permalink
Hallo,
Post by Bernd Fegert
Post by Michel Fouquet
indem Du Dir die FAQ 2.4 zur Brust nimmst. Darin wird nicht nur die
von Thomas genannte Methode (das SQL-Statement direkt in der
AfterUpdate-Prozedur absetzen) aufgeführt.
Hab's gefunden, das kann man unter Einstelungen/Optionen ausschalten,
trotzdem vielen Dank für Eure Hilfe.
das ist nun gerade *die* Vorgehensweise, die man am allerwenigsten
nehmen sollte. Du setzt damit insgesamt die Warnmeldungen ausser Kraft.

Wenn Du mit dem Absetzen eines SQL-Statements nicht klarkommst, dann
nimm lieber:

DoCmd.SetWarnings False
DoCmd.OpenQuery "Update"
DoCmd.SetWarnings True

Damit werden die Meldungen nur für diese eine Aktion aus- und
korrekterweise auch wieder eingeschaltet.

mfg,
Michel

P.S.: Der Name "Update" für Deine Aktionsabfrage ist auch nicht
besonders glücklich gewählt. Die Kollision mit reservierten
Befehlswörtern liegt dabei nahe.
Bernd Fegert
2005-04-10 20:59:05 UTC
Permalink
Hallo Michael
Post by Michel Fouquet
das ist nun gerade *die* Vorgehensweise, die man am allerwenigsten
nehmen sollte. Du setzt damit insgesamt die Warnmeldungen ausser Kraft.
Wenn Du mit dem Absetzen eines SQL-Statements nicht klarkommst, dann
DoCmd.SetWarnings False
DoCmd.OpenQuery "Update"
DoCmd.SetWarnings True
Da hast Du natürlich recht, hab es geändert
Post by Michel Fouquet
P.S.: Der Name "Update" für Deine Aktionsabfrage ist auch nicht
besonders glücklich gewählt. Die Kollision mit reservierten
Befehlswörtern liegt dabei nahe.
Hab ich in "AktForm" geändert.

Vielen Dank für die nützlichen Tips.

Grüße Bernd
Thomas Möller
2005-04-11 15:26:58 UTC
Permalink
Hallo Bernd,
Post by Bernd Fegert
Post by Michel Fouquet
DoCmd.SetWarnings False
DoCmd.OpenQuery "Update"
DoCmd.SetWarnings True
Da hast Du natürlich recht, hab es geändert
Post by Michel Fouquet
P.S.: Der Name "Update" für Deine Aktionsabfrage ist auch nicht
besonders glücklich gewählt. Die Kollision mit reservierten
Befehlswörtern liegt dabei nahe.
Hab ich in "AktForm" geändert.
zum Thema Benamsung von Objekten kannst Du Dir mal die Reddick VBA Naming
Conventions näher anschauen: http://www.xoc.net/standards/rvbanc.asp


CU
--
Thomas

Homepage: www.Team-Moeller.de
Loading...