Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Wert aus Listenfeld wird manchmal nicht richtig übernommen
zurück: Access Formulare schliessen mit (x) auf der Registerkarte? weiter: Bezeichnungsfelder variabel beschriften Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Holden
VBA-Einsteiger


Verfasst am:
17. Feb 2010, 19:02
Rufname:

Wert aus Listenfeld wird manchmal nicht richtig übernommen - Wert aus Listenfeld wird manchmal nicht richtig übernommen

Nach oben
       Version: Office 2k (2000)

Hallo,

ich habe ein Problem mit dem Zuweisen von Werten in Access: In einem Pop-Up-Formular sind mehrere Listenfelder enthalten, die alle ihre Werte aus der gleichen verknüpften SQL-Tabelle beziehen. Habe den Inhalt der Tabelle in Gruppen zusammengefasst und für jede Gruppe ein Listenfeld erstellt. Klappt soweit fehlerfrei. Die Auswahl eines Wertes erfolgt durch Doppelklick. Der Wert wird zunächst in ein ungebundenes Feld des Pop-Up-Formulars (Name: WMID) und von dort in ein neues Formular zur weiteren Bearbeitung übernommen. In diesem Zusammenhang soll auch der Bearbeiter von einem Feld in einem permanent geöffneten Übersichtsformular übernommen werden. Auch das klappt zunächst fehlerfrei.

Nachdem ich diese Schritte immer wieder (ca. 5-7 mal) für Bearbeitungen durchlaufen habe, erscheint bei der nächsten Auswahl aus einem der Listenfelder nicht der betreffende Wert in dem Feld WMID, sondern der Feldname selbst „WMID“, der dann auch in das weitere Formular übernommen wird. In dem anderen Feld, in das sonst das Kürzel des Bearbeiters übernommen wird, erscheint dann ein Formularname.

Zur Kontrolle lasse ich das Pop-Up-Formular jetzt nicht mehr automatisch schließen. Wenn ich feststelle, dass wieder einmal „WMID“ unzutreffend als Wert angezeigt wird, doppelklicke ich einfach noch mal in das Listenfeld und in manchen Fällen wird dann der richtige Wert aus dem Listenfeld übernommen.

Das Problem mit dem fehlerhaften Setzen der Werte habe ich wohl erst seitdem ich die wesentlichen Tabellen meiner Access-Datei auf den SQL-Server ausgegliedert habe. Die meisten anderen Formulare, die ebenfalls auf diese Tabellen zurückgreifen, funktionieren problemlos.

Hat jemand eine Idee, woran das liegen kann ?

Hier zunächst die Funktion, die beim Doppelklick in dem Listenfeld „Other-MID“ aufgerufen wird:
Code:
Function P_TS_Auswahl_Mandat_1_Auswahl_Other_MID()
On Error GoTo P_TS_Auswahl_Mandat_1_Auswahl_Other_MID_Err
    Forms![P-TS-Auswahl (Mandat) 1]!WMID = Forms![P-TS-Auswahl (Mandat) 1]![Other-MID]
    Call P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M
P_TS_Auswahl_Mandat_1_Auswahl_Other_MID_Exit:
    Exit Function
P_TS_Auswahl_Mandat_1_Auswahl_Other_MID_Err:
    MsgBox Error$
    Resume P_TS_Auswahl_Mandat_1_Auswahl_Other_MID_Exit
End Function
Und hier die aufgerufene Prozedur:
Code:
Sub P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M()
On Error GoTo P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M_Err
    Forms![M-Beginn]![VAR] = Forms![P-TS-Auswahl (Mandat) 1]!WMID
    DoCmd.OpenForm "E-Stopuhr (Min)", acNormal, "", "", , acNormal
    DoCmd.GoToRecord acForm, "E-Stopuhr (Min)", acNewRec
    Forms![E-Stopuhr (Min)]!MID = Forms![P-TS-Auswahl (Mandat) 1]!WMID
    Forms![E-Stopuhr (Min)]!Datum = Date
    Forms![E-Stopuhr (Min)]!TK = Forms![M-Beginn]!TK
P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M_Exit:
    Exit Sub
P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M_Err:
    MsgBox Error$
    Resume P_TS_Auswahl_Mandat_Öffnen_E_Stopuhr_M_Exit
End Sub
MissPh!
Office-VBA-Programmiererin


Verfasst am:
17. Feb 2010, 19:26
Rufname:
Wohnort: NRW


AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Hallo, ziemlich mysteriös das ganze... Confused
Zitat:
Hier zunächst die Funktion, die beim Doppelklick in dem Listenfeld „Other-MID“ aufgerufen wird:
Warum behandelst du den Fall nicht direkt in der Ereignisprozedur?
Wo befindet sich dieser Code, in einem allgemeinen Modul?

Ich vermisse das Speichern des neuen Datensatzes - was passiert mit dem Stopuhr-Formular?

BTW: Warum tust du dir das an mit diesen unsäglich langen und mit Sonderzeichen bestückten Bezeichnungen?! Shock

_________________
Gruß MissPh!
Gast



Verfasst am:
18. Feb 2010, 11:56
Rufname:

AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Hallo MissPh,

vielen Dank für Deine Antwort !

Nun, anfangs hatte ich das alles über Makros in Access "programmiert". Nachdem der Fehler auftrat, habe ich das Ganze in einen Code gepackt, um den Ablauf besser kontrollieren zu können.
Zitat:
Wo befindet sich dieser Code, in einem allgemeinen Modul?
Ja, so ist es.

Zitat:
Ich vermisse das Speichern des neuen Datensatzes - was passiert mit dem Stopuhr-Formular?
Das Stopuhr-Formular, in dem Arbeitszeiten erfaßt werden, hat eine eigene Access-Makro-Gruppe, die für die Befehle innerhalb des Formulars zuständig ist (z.B. entweder die eingetragenen Werte in die Tabelle schreiben oder verwerfen).

Zitat:
BTW: Warum tust du dir das an mit diesen unsäglich langen und mit Sonderzeichen bestückten Bezeichnungen?!
Das sind Relikte aus alten Tagen ... Da ich schon einige Zeit mit der Programmierung befaßt bin, finde ich mich damit besser zurecht. Wenn alles stabil läuft, soll ohnehin eine Migration auf neuere Software-Standards erfolgen. Im Zuge dessen passe ich dann die Bezeichnungen an.

Brauchst Du weitere Infos ?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
18. Feb 2010, 13:28
Rufname:
Wohnort: NRW

AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Einen Versuch wäre es wert:
Lass dir aus der Makrogruppe VBA-Code erzeugen, dann schauen wir uns den mal genauer an...

_________________
Gruß MissPh!
Holden
VBA-Einsteiger


Verfasst am:
24. Feb 2010, 10:51
Rufname:

AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Hallo MissPh,

konnte mich leider nicht eher zurückmelden.

Habe große Zweifel, dass die für das Zielformular zuständige Makrogruppe für den Fehler relevant ist, da die Makros alle nur nach Klicken einer Befehlsschaltfläche ausgeführt werden. Und der Fehler tritt auf, bevor eines dieser Makros ausgeführt wird.

Der Fehler scheint mir eher in dem vorgelagerten Formular zu liegen. Dort wird ja ein falscher Listenfeld-Wert übernommen und in dem Zielformular eingetragen. Den hierfür zuständigen Code habe ich aber bereits gepostet. Wenn Du immer noch meinst, die nicht ausgeführten Makros des Zielformulars könnten von Interesse sein, dann findest Du den automatisch konvertierten Code hier:
Code:

'------------------------------------------------------------
' E_Stopuhr_Min_VB_Ende
'
'------------------------------------------------------------
Function E_Stopuhr_Min_VB_Ende()
On Error GoTo E_Stopuhr_Min_VB_Ende_Err

    With CodeContextObject
        .ZEnde = Time()
        .VMin = (.ZEnde - .ZBeginn) * 1000 / 0.694
    End With


E_Stopuhr_Min_VB_Ende_Exit:
    Exit Function

E_Stopuhr_Min_VB_Ende_Err:
    MsgBox Error$
    Resume E_Stopuhr_Min_VB_Ende_Exit

End Function


'------------------------------------------------------------
' E_Stopuhr_Min_VB_Close
'
'------------------------------------------------------------
Function E_Stopuhr_Min_VB_Close()
On Error GoTo E_Stopuhr_Min_VB_Close_Err

    With CodeContextObject
        .tDatum = .Datum
        .TTotalEinh = IIf(.ETEinh <> "", .ETEinh, .TEinh)
        .TBillableEinh = IIf(.EBEinh <> "", .EBEinh, .BEinh)
        Forms![E-Stopuhr (Min)]!TWorkedEinh = Forms![E-Stopuhr (Min)]!VEinh
        DoCmd.Close acForm, "E-Stopuhr (Min)"
        Call M_Beginn_Aktual
    End With


E_Stopuhr_Min_VB_Close_Exit:
    Exit Function

E_Stopuhr_Min_VB_Close_Err:
    MsgBox Error$
    Resume E_Stopuhr_Min_VB_Close_Exit

End Function


'------------------------------------------------------------
' E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage
'
'------------------------------------------------------------
Function E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage()
On Error GoTo E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage_Err

    DoCmd.OpenForm "E-Wiedervorlage", acNormal, "", "", , acNormal
    Forms![E-Wiedervorlage]!MID = Forms![E-Stopuhr (Min)]!MID
    Forms![E-Wiedervorlage]!TK = Forms![E-Stopuhr (Min)]!TK
    Forms![E-Wiedervorlage]!tDatum = Forms![E-Stopuhr (Min)]!Datum
    Forms![E-Wiedervorlage]!Tätigkeit = Forms![E-Stopuhr (Min)]!Tätigkeit


E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage_Exit:
    Exit Function

E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage_Err:
    MsgBox Error$
    Resume E_Stopuhr_Min_VB_Öffnen_E_Wiedervorlage_Exit

End Function


'------------------------------------------------------------
' E_Stopuhr_Min_VB_VStand_öffnen
'
'------------------------------------------------------------
Function E_Stopuhr_Min_VB_VStand_öffnen()
On Error GoTo E_Stopuhr_Min_VB_VStand_öffnen_Err

    DoCmd.OpenForm "P-Verfahrensstand", acNormal, "", "[MID]=[Forms]![E-Stopuhr (Min)]![ZMID]", , acNormal
    Forms![P-Verfahrensstand]!WStreitwert = Forms![E-Stopuhr (Min)]!VStreitwert


E_Stopuhr_Min_VB_VStand_öffnen_Exit:
    Exit Function

E_Stopuhr_Min_VB_VStand_öffnen_Err:
    MsgBox Error$
    Resume E_Stopuhr_Min_VB_VStand_öffnen_Exit

End Function


Freue mich über Feedback !
MissPh!
Office-VBA-Programmiererin


Verfasst am:
24. Feb 2010, 16:17
Rufname:
Wohnort: NRW

AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Hallo.

Das sieht aber jetzt nicht gerade nach konvertiertem Makrocode aus... Confused

Aber du hast wohl recht, da ist kein Zusammenhang zu erkennen. Gibt es noch weiteren Code, der hier mit reinspielt?
Am besten, du lädst mal eine Demo-DB hoch, an der man den Fehler nachstellen kann.

_________________
Gruß MissPh!
Holden
VBA-Einsteiger


Verfasst am:
02. März 2010, 23:32
Rufname:

AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

So, da bin ich wieder.

Zitat:
Aber du hast wohl recht, da ist kein Zusammenhang zu erkennen. Gibt es noch weiteren Code, der hier mit reinspielt?

Würde Deinem Vorschlag gerne entsprechen und Code hochladen, aber ich weiß nicht welchen Teil, da meines Erachtens kein anderer Code hier mit reinspielt.

Zitat:
Am besten, du lädst mal eine Demo-DB hoch, an der man den Fehler nachstellen kann.

Würde ich gerne machen, aber das Problem kam erst durch die Verknüpfung mit den SQL-Tabellen. Macht eine Beispiel-Datenbank Sinn, die diese Verknüpfungen nicht beinhaltet ??

Falls ja, wie lade ich eine Beispiel-Datenbank hoch ?
MissPh!
Office-VBA-Programmiererin


Verfasst am:
02. März 2010, 23:46
Rufname:
Wohnort: NRW


AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm - AW: Wert aus Listenfeld wird manchmal nicht richtig übernomm

Nach oben
       Version: Office 2k (2000)

Sorry, aber da weiß ich jetzt auch nicht weiter.
Wenn sich das Problem nicht auf eine Access-DB reduzieren lässt, macht ein Upload wohl wenig Sinn.

_________________
Gruß MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrfachauswahl in Listenfeld als Abfrageparameter möglich? 3 esprene 1395 26. Aug 2005, 14:25
cablit Mehrfachauswahl in Listenfeld als Abfrageparameter möglich?
Keine neuen Beiträge Access Tabellen & Abfragen: Bei Eingabe Abfrage erscheint der Wert 5x ?!? 8 Amazonin 786 09. Aug 2005, 14:12
lothi Bei Eingabe Abfrage erscheint der Wert 5x ?!?
Keine neuen Beiträge Access Tabellen & Abfragen: neuen Datensatz anlegen falls wert nich vorhanden ist 1 AccessAlex 874 08. Aug 2005, 22:18
Gast neuen Datensatz anlegen falls wert nich vorhanden ist
Keine neuen Beiträge Access Tabellen & Abfragen: Wert in Tabelle schreiben 16 majeca 12941 27. Jul 2005, 15:12
majeca Wert in Tabelle schreiben
Keine neuen Beiträge Access Tabellen & Abfragen: Wert von der Tabelle abziehen 1 elmar9700 892 10. Jul 2005, 22:22
stpimi Wert von der Tabelle abziehen
Keine neuen Beiträge Access Tabellen & Abfragen: Manchmal Passwortabfrage, manchmal keine Passwortabfrage ? 4 AchimL 891 19. Jun 2005, 11:45
AchimL Manchmal Passwortabfrage, manchmal keine Passwortabfrage ?
Keine neuen Beiträge Access Tabellen & Abfragen: 2 Tabellen zusammen fügen und Abfrage richtig sortieren 1 oeli24 603 02. Jun 2005, 15:42
Dennis79 2 Tabellen zusammen  fügen und Abfrage richtig sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage über Formular einen Wert übergeben. 4 magnum 1280 29. Mai 2005, 14:55
jens05 Abfrage über Formular einen Wert übergeben.
Keine neuen Beiträge Access Tabellen & Abfragen: Hochzählen ab bestimmten Wert 3 vitalik 893 06. Mai 2005, 12:47
stpimi Hochzählen ab bestimmten Wert
Keine neuen Beiträge Access Tabellen & Abfragen: Überprüfen ob Wert in Tabelle = NULL 3 Cossack 1498 18. Apr 2005, 17:52
Gast Überprüfen ob Wert in Tabelle = NULL
Keine neuen Beiträge Access Tabellen & Abfragen: Wert von Kontrollkästchen für Abfrage verwenden? 1 JoHo 1690 21. Jan 2005, 11:41
JoHo Wert von Kontrollkästchen für Abfrage verwenden?
Keine neuen Beiträge Access Tabellen & Abfragen: Wenn Wert nicht vorhanden nimm den nächsten 2 Ogdo 788 29. Dez 2004, 12:40
Gast Wenn Wert nicht vorhanden nimm den nächsten
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Project