Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

AC00, Datensatz in Tabelle ändern VBA

Begonnen von bejay, Juni 08, 2012, 14:38:18

⏪ vorheriges - nächstes ⏩

bejay

Ich habe eine Tabelle(myTab)  mit 3 Feldern  ID(key), Groesse($) und Mark (boolean) und ein Formular(myForm1) das in einem Listenfeld(lstGroesse) den Tabelleninhalt mit allen 3 Feldern anzeigt. Nun möchte ich dass das Feld Mark(boolean) sich von Nein auf Ja ändert wenn ich datensatz klicke. Das Feld gibt die ID zurück (gebundene Spalte 1). Wie würdet Ihr das angehen ?  SQL, Recordset edit , beides geht, wobei ich bei SQL nicht so genau wüsste wie, es erscheint mir aber sinnvoller.
Tipps?

Gruß
bejay

database

#1
Hallo,

du KÖNNTEST in DoppelKlick-Ereignis des Listenfeldes folgendes aufnehmen:


If MsgBox("Es wurde auf den Datensatz mit der ID " & me.lstGroesse & " geklickt." & vbCrLf & _
           "Soll die Änderung durchgeführt werden?", vbQuestion + vbYesNo, "Datenänderung") = vbYes Then      
   'Änderung am Tabellenfeld vornehmen
   CurrrentDB.Execute("UPDATE myTab SET Mark=True WHERE ID=" & Me.lstGroesse),  dbFailOnError
   'Listenfeld aktualisieren
   Me.lstGroesse.Requery
End If


Ich würde nicht das Klick-Ereignis empfehlen, da dieses schon beim ersten anklicken des Listenfeldes eintritt.
Versuche das besser mal mit dem Ereignis 'Beim Doppelklicken'
Code natürlich ungetestet und in der Annahme dass die Bezeichnungen deinen realen Gegebenheiten entsprechen.

HTH

bejay

Danke, ja Execute wars, damit wird SQL ausgeführt. Ich werde mir mal meine alten Bücher und Schnipsel ansehen.
Vielen Dank

database

Hallo,

bitte den Thread in DEINEM ERSTEN Beitrag auf 'gelöst' setzen, damit das auch in der Übersicht zu sehen ist - DANKE  ;D