Discussion:
Wert aus ComboBox aus 2 Formular in Variable übergeben
(zu alt für eine Antwort)
Reiner Selting
2011-01-04 14:24:37 UTC
Permalink
Hallo zusammen,
ich erzeuge per Button "beim Klicken" aus einem Formular eine neue
Nummer mit
NRngN = Nz(DMax("[A_Nr]", "tbl_Auftr_nr"), conStW) + 1
usw.
Bevor ich den Wert mit AddNew übergebe brauche ich einen zweiten Wert
mittels 2'tes Formular aus einer anderen Tabelle, dort habe ich eine
ComboBox und diesen ID_Wert muss ich auch speichern.
Also 2 Form öffnen, Wert auswählen übernehmen und schliessen!
Wie muss da vorgehen?

Danke und Gruß
Reiner
Karl Donaubauer
2011-01-04 14:39:47 UTC
Permalink
Post by Reiner Selting
ich erzeuge per Button "beim Klicken" aus einem Formular eine neue
Nummer mit
NRngN = Nz(DMax("[A_Nr]", "tbl_Auftr_nr"), conStW) + 1
usw.
Bevor ich den Wert mit AddNew übergebe brauche ich einen zweiten Wert
mittels 2'tes Formular aus einer anderen Tabelle, dort habe ich eine
ComboBox und diesen ID_Wert muss ich auch speichern.
Also 2 Form öffnen, Wert auswählen übernehmen und schliessen!
Wie muss da vorgehen?
Ziemlich sicher kein zweites Formular öffnen, wenn du den
Wert aus einer Tabelle in deinem Code brauchst. Dafür solltest
du entweder eine Abfrage verwenden oder DLookUp & Co.

Für die genaue Formulierung müsste man Details kennen,
z.B. könntest du die Datensatzherkunft des Kombis posten
und welchen Wert du dort auswählen willst.
--
Servus
Karl
*********
Access-FAQ: http://www.donkarl.com
4. SQL Server-Entwickler-Konferenz, 12./13.2.2011, Nürnberg
Reiner Selting
2011-01-04 22:45:26 UTC
Permalink
Hallo Karl,
erst einmal Danke für deinen Beitrag.
Hier mein Problem!
Per Button speichere eine neue Laufnummer in der Tabelle
„Auftragsnummern“ und übernehme die diese in mein geöffnetes
Detailformular für den Auftrag. Das klappt soweit!
In der Tabelle „Details“ speichere ich die ID‘s (Laufnummer, Kunde)
und einige andere Texteingaben wie Beschreibung, Kundenauftragsnummer,
Datum usw.
Ich möchte der neu Erstellen Laufnummer, eine ID_Verrechnungssatz aus
einer anderen Tabelle zuweisen nicht der Detailtabelle des Auftrags,
da einer Laufnummer mehrere Kundenaufträge haben kann. Die Combobox
hat als Quelle Tabelle Verrechnungssatz
Ich hoffe ich habe mich verständlich ausgedrückt!!!

Gruß
Reiner
Karl Donaubauer
2011-01-05 08:19:33 UTC
Permalink
Post by Reiner Selting
...
Per Button speichere eine neue Laufnummer in der Tabelle
„Auftragsnummern“ und übernehme die diese in mein geöffnetes
Detailformular für den Auftrag. Das klappt soweit!
In der Tabelle „Details“ speichere ich die ID‘s (Laufnummer, Kunde)
und einige andere Texteingaben wie Beschreibung,
Kundenauftragsnummer, Datum usw.
Ich möchte der neu Erstellen Laufnummer, eine ID_Verrechnungssatz
aus einer anderen Tabelle zuweisen nicht der Detailtabelle des
Auftrags, da einer Laufnummer mehrere Kundenaufträge haben kann.
Die Combobox hat als Quelle Tabelle Verrechnungssatz
Ich hoffe ich habe mich verständlich ausgedrückt!!!
Hmm, vielleicht wenn du noch etwas konkreter schreibst,
welchen Datensatz du aus dem Kombinationsfeld wählst,
aufgrund welcher Eigenschaft, Id... Dann kann man den
entsprechenden VBA-Code produzieren, um den Wert
direkt aus der Tabelle zu holen.

Ein Formular würde man nur öffnen, wenn eine Interaktion
mit dem Anwender erfolgen muss, weil es keine klare
Regel gibt, welcher Wert genommen werden muss.
--
Servus
Karl
*********
Access-FAQ: http://www.donkarl.com
4. SQL Server-Entwickler-Konferenz, 12./13.2.2011, Nürnberg
Reiner Selting
2011-01-05 08:40:14 UTC
Permalink
Hallo Karl,
guten Morgen!

Das ist die Quelle der Combo

SELECT tbl_StundensatzHalbfertig.Stundensatz_ID,
tbl_StundensatzHalbfertig.Stundensatz_Halbfertig,
tbl_StundensatzHalbfertig.Stundensatz_Geschaeftsjahr
FROM tbl_StundensatzHalbfertig
ORDER BY tbl_StundensatzHalbfertig.Stundensatz_Halbfertig,
tbl_StundensatzHalbfertig.Stundensatz_Geschaeftsjahr;

Ich habe das Problem das der Benutzer mehrere unterschiedliche
Verrechnungssätze haben kann, sonst könnte ich den Wert ohne
Abzufragen übernehmen!
Und im Detailformular kann ich den auch nicht abfragen, da ich für die
Laufnummer nur einer Ver.-Satz vergeben darf und nicht je
Kundenauftrag!!

Gruß
Reiner
Karl Donaubauer
2011-01-05 12:21:15 UTC
Permalink
Post by Reiner Selting
Das ist die Quelle der Combo
SELECT tbl_StundensatzHalbfertig.Stundensatz_ID,
tbl_StundensatzHalbfertig.Stundensatz_Halbfertig,
tbl_StundensatzHalbfertig.Stundensatz_Geschaeftsjahr
FROM tbl_StundensatzHalbfertig
ORDER BY tbl_StundensatzHalbfertig.Stundensatz_Halbfertig,
tbl_StundensatzHalbfertig.Stundensatz_Geschaeftsjahr;
Ich habe das Problem das der Benutzer mehrere unterschiedliche
Verrechnungssätze haben kann, sonst könnte ich den Wert ohne
Abzufragen übernehmen!
Und im Detailformular kann ich den auch nicht abfragen, da ich für die
Laufnummer nur einer Ver.-Satz vergeben darf und nicht je
Kundenauftrag!!
Nicht, dass ich deine Anordnung so ganz verstehen würde, aber
wenn du zwecks unbedingt nötiger Auswahl durch den Anwender
ein weiteres Formular mit dem Kombi öffnen musst, dann gibt's
auch noch mehrere Varianten:

Wenn du das Formular nur zu diesem Zweck öffnest, könntest
du das evtl. im Dialogmodus tun und dann mit deinem Code
weitermachen: http://www.donkarl.com?FAQ6.9

Wenn dort mehr stattfinden soll, dann musst du dir eben
einen der Werte merken, also z.B. deine NRngN als OpenArg
an das Formular übergeben und Nach Aktualisierung des Kombis
alles in die entsprechende Tabelle schreiben. Oder du übergibst die
Id des Datensatzes und fügst mit deren Hilfe erst später die Daten
aus dem Kombi hinzu.
--
Servus
Karl
****************
http://www.donkarl.com Access-FAQ
4. SQL Server-Entwickler-Konferenz, 12./13.2.2011, Nürnberg
Reiner Selting
2011-01-05 14:49:34 UTC
Permalink
Hallo Karl,

Danke für den Hinweis.
Auf der FAQ6.9 war ich schon vor 2 Tagen :( , hatte aber überlesen das
Formular auszublenden.

mit
DoCmd.OpenForm "MeinDialogFormular", , , , , acDialog
Std_Satz = [Forms]![frm_Stundensatz]!
[cmd_Stundenverechnungssatz].Column(0)

Ich hatte den Wert in der Combo gesetzt und über einen Button in der
Form wieder geschlossen.
Dann war der Wert natürlich weg!

Ich lese hier eine gewisse Kritik und ich bin sehr Kritikfähig!
Was ist an der Struktur der Falsch?
Nicht, dass ich deine Anordnung so ganz verstehen w rde, aber
wenn du zwecks unbedingt n tiger Auswahl durch den Anwender
ein weiteres Formular mit dem Kombi ffnen musst, dann gibt's
Ich danke dir auf jedenfalls für deine Beiträge mit 6.9 klappt es
jetzt so wie ich es haben wollte.

Gruß
Reiner
Matthias Körner
2011-01-06 10:46:27 UTC
Permalink
Hallo Reiner,

"Reiner Selting" <***@web.de> schrieb im Newsbeitrag news:96c8356a-cd42-4022-a588-***@l24g2000vby.googlegroups.com...

wie ich das sehe, erzeugst Du erst manuell eine neue Auftragsnummer und
gibst dieser Auftragsnummer anschliessend dann noch manuell einen festen
Verrechnungssatz mit.

Wenn es nur ein paar Verrechnungssätze sind, könnte man auch den umgekehrten
Weg gehen:
Für jeden Verrechnungssatz einen Button, der automatisch eine neue
Auftragsnummer mit dem hinterlegten Verrechnungssatz erzeugt.
Damit wäre alles mit nur einem Mausklick erledigt...

Gruß
Matthias

Loading...