Liebe Access-Profis,
jetzt muss ich mich unter dem gleichen Betreff noch einmal hilfesuchend melden! Im letzten November habe ich unter diesem Betreff Hilfe erhalten; in meinem Hauptformular habe ich einen "Aktualisieren-Button" der bei fehlendem Eintrag im Unterformular (vgl. Anhang) im Feld Ersatz/Ausgleich (Listenfeld [ERS_FS]) einen eigenen Dialog einblenden soll.
Realisiert wurde dies dank Eurer Mithilfe mit
Private Sub cmd_AktualisierenFrmAusfall_Click()
If IsNull(Me.frm_AUSFALLufo01!ERS_FS) Then
If MsgBox("Bitte geben Sie noch eine Ersatzstellung ein!", vbOKOnly + vbInformation, "Bitte nacharbeiten!") = vbOK Then
Me.frm_AUSFALLufo01.SetFocus
Me.frm_AUSFALLufo01!ERS_FS.SetFocus
Exit Sub ' aussteigen bzw. hier aufhören
End If
End If
DoCmd.RunCommand acCmdSaveRecord
Me.frm_AUSFALLufo02Liste.Requery
Me.Liste18.Requery
Me.Liste9.Requery
Me.Liste50.Requery
End Sub
Alles hat funktioniert. Nach Weiterentwicklung meiner DB funktioniert dieser Code nicht mehr; ich erhalte eine Access-Meldung "Sie wollten den Null-Wert einer Variablen zuweisen, die nicht den Datentyp VARIANT hat!" - Was ist passiert?
Wenn ich rückblickend die einzelnen Entwicklungsstufen nachvollziehe, dann habe ich lediglich bei einer Tabelle (tbl_LEH_KAT) ein zusätzliches Feld [LeK_LwhRueck] eingepflegt, das in die zugrunde liegenden Abfrage übernommen und im Unterformular auch angezeigt wird. Dieses Feld hat keinen Standardwert und keine "erforderliche Eingabe" als Eigenschaft.
Jetzt suche und vergleiche ich den ganzen Mittag beide Versionen und finde keinen Unterschied, der das Funktionieren bzw. das Nicht-Funktionieren erhellen könnte. Wo soll ich nur suchen?
Für eine Unterstützung bin ich wie immer(!) sehr dankbar!
gromax
Hallo,
ZitatDieses Feld hat keinen Standardwert und keine "erforderliche Eingabe" als Eigenschaft.
wie sieht's aus mit "Leere Zeichenfolge"?!
Hallo MaggieMay,
danke für die Rückmeldung; das Feld [LeK_LwhRueck] nimmt Zahlen über die Lehrerwochenstunden auf. Bei einem Zahlenfeld finde ich unter den Eigenschaft keine "Leere Zeichenfolge" - wohl aber bei den Datentypen 'Text'. Richtig?
Ich verstehe von der Logik her nicht, warum dieser VBA-Code, der vormals perfekt funktionierte, jetzt nicht mehr "greift"?! Das Feld (Me.frm_AUSFALLufo01!ERS_FS) ist doch wirklich leer(=Null)!?
Viele Grüße
gromax
Ok, mit den Screenshots kann man leider nicht viel anfangen, da müsste man schon einen Blick in die DB werfen können, um auszutesten was den Fehler verursacht.
Bzw. wenn es VBA-Code dazu gibt, könntest du den vielleicht erstmal zeigen. Dann sollte sich auch die fehlerverursachende Codezeile bestimmen lassen.
Hallo MaggieMay,
ich habe die DB so zusammengestutzt, dass Du mein Problem immer noch nachvollziehen kannst.
Danke vorab!
Viele Grüße
gromax
Hi,
wie bist du nur auf die Idee gekommen, das Unterformular an eine derart überfrachtete Abfrage zu binden? ???
Ändere das in die allein benötigte Tabelle "tbl_LEK_Kat" und stelle den Steuerelementinhalt vom Textfeld "Dauer" auf folgenden Ausdruck ein:
=Wenn(DatDiff('\d';[LeK_Beginn];[LeK_Ende])>42 Und [KAT_FS]=4;"Meldung erforderlich!";"")
dann klappt's auch mit der Dateneingabe und -änderung.
Hallo MaggieMay,
das Anwachsen und Generieren dieser großen Abfrage ist meiner fehlenden Kenntnis zu Access geschuldet; Du hast natürlich recht und Dein Hinweis ist absolut zielführend. Wieder mal bedanke ich mich ganz herzlich für Deinen Hinweis und die Lösung! Wie immer: Frage gestellt - Frage beantwortet - Problem gelöst!
Viele Grüße
gromax