Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Optionsfeld in Listenansicht des Formulares

Begonnen von dolpho, August 13, 2020, 10:46:10

⏪ vorheriges - nächstes ⏩

dolpho

Hallo zusammen,
heute habe ich mal ein optisches Problem, dem ich nicht gewachsen bin.
Ein Formular habe ich in Listenansicht erstellt und ein Optionsfeld eingefügt. Die VBA Programmierung dahinter klappt im Moment gut, nur ist der Fehler, dass in allen dargestellten Zeilen gleichzeitig der Haken gewählt oder abgewählt wird, obwohl der VBA Befehl nur auf die jeweilige Zeile wirkt.
Was habe ich falsch gemacht?

LG Dolpho

MzKlMu

Hallo,
Zitatobwohl der VBA Befehl nur auf die jeweilige Zeile wirkt.
Nein, der VBA Code wirkt auf alle Optionsfelder. Das Optionsfeld muss an ein Datenfeld gebunden sein, sonst geht das nicht.
Gruß Klaus

DF6GL

Hallo,


da ist nichts falsch, dies ist normal.  Das Optionsfeld ist nicht an ein Tabellenfeld gebunden und existiert demzufolge nur ein Mal, auch wenn es bei jedem Datensatz angezeigt wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

dolpho

?? Binde ich es aber an ein Datenfeld, kann ich es nicht mehr auswählen! ??
Im Hintergrund möchte ich für den angeklickten Datensatz den Status von "2" auf "3" ändern.

MzKlMu

Hallo,
dann ist die Abfrage nicht aktualisierbar.
Zeige die Abfrage des Formulars.
Gruß Klaus

dolpho

SELECT tblExlager.ExlagerID, tblExlager.ExLagerStatus, tblExlager.PackmittelID_f, tblExlager.MatID_f, tblMaterial.mat_Nr, tblMaterial.mat_Name, tblExlager.ErstDatumWE, tblExlager.ExlagerMenge, tblExlager.Lief_id_f, tblExlager.ExLagerDatOut, tblExlager.ExlagerDatIn, tblExlager.ExlagerGewicht, tblExlager.Gase_id_f, tblFlaschGase.Gase_UN, tblPackmittel.PackmittelID, tblPackmittel.PackmittelName, tblPackmittel.Packmittelkurz, tblExlager.ExLagerBemerkung, tblExlager.LagerID_f, tblLager.LagerFa, tblLager.LagerAdresse, tblLager.LagerPLZ, tblLager.LagerOrt
FROM tblPackmittel RIGHT JOIN (tblMaterial INNER JOIN (tblLager INNER JOIN (tblFlaschGase RIGHT JOIN tblExlager ON tblFlaschGase.Gase_id = tblExlager.Gase_id_f) ON tblLager.LagerID = tblExlager.LagerID_f) ON tblMaterial.mat_id = tblExlager.MatID_f) ON tblPackmittel.PackmittelID = tblExlager.PackmittelID_f
WHERE (((tblExlager.ExLagerStatus)=1));


Kannst du so damit etwas anfangen?

MzKlMu

Hallo,
in der Abfrage dürfte es nicht möglich sein Daten zu ändern.
Öffne mal die Abfarge direkt und versuche Daten zu ändern.

Die Abfrage sollte nur die Tabellen enthalten die im Unterformular auch benötigt werden.
Gruß Klaus

dolpho

Hallo Klaus,
eine Abfrage nur mit den benötigten Daten führt auch nicht zum Erfolg  :(
Sobald ich das optFELD von der Abfrage entoppele habe ich das richtige Ergebnis, von VBA produziert wobei die Änderungen immer in der richtige Zeile stattfinde aber die Haken in allen Zeilen an- und ausgehen.
Ich weiß also immernoch nicht, wie ich dem begegnen könnte

dolpho

Nachtrag Klaus,

in der Abfrage kann man die Daten ändern!

MzKlMu

Gruß Klaus

dolpho

Private Sub optJaNein_AfterUpdate()
    If optJaNein.Value = True Then
        ExLagerStatus = 2
    Else
        ExLagerStatus = 1
    End If
End Sub

MzKlMu

Hallo,
der gezeigte Code kann nicht zu einer Änderung führen, wenn die Optionsgruppe nicht gebunden ist.

Du machst hier irgendwo grundsätzliche Fehler.
Erstelle ein Minimalbeispiel, das den Fehler zeigt und lade das Beispeil hier hoch.
Gruß Klaus

dolpho

sorry, stehe grad auf dem Schlauch

wie kann man eine DB hochladen?

crystal

Hallo dolpho,

gestatte mir folgende Hinweise.
Statt den Status über ein J/N-Feld zu setzen, könntest du ihn auch direkt als Optionsfeld-Gruppe gestalten, denn du kannst jedem einzelnen Optionsfeld der Optionsgruppe einen eigenen Wert (z. B. 2, 3, 4) zuweisen und die Optionsgruppe an das betreffende Tabellenfeld binden.
Auch könntest du das Statusfeld per Combobox mit Werteliste gestalten. Optionsbuttons sind aber wohl eher einleuchtend und sparen einen Klick auf die Combobox, wenn sie auch mehr Platz benötigen.

Es ist bekannt, dass sich Zuweisungen per VBA bei Endlosformularen meist auf alle (angezeigten) Datensätze auswirken, was m. E. ein dicker Bug in Access ist, weil hier der DS-Bezug nicht berücksichtigt wird. Deshalb sollte man in Endlosformularen möglichst auf VBA-Zuweisungen und -Berechnungen verzichten... (Oh je - ich fürchte, dass diese Aussage auf Kritik stoßen wird.)

Gruß,
crystal
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

dolpho

hallo chrystal,

das Handicap ist ja, dass der VBA-Befehl einwandfrei funktioniert nur der Haken des Optionsfeldes stimmt ja nicht.:
Ich klicke z.B.Zeile 3 und der Staus ändert sich nur in Zeile drei jedoch zeigt es den Haken in allen Zeilen an und das ist alles andere als benutzerfreundlich :-(

Gruß dolpho