PDA

Vollständige Version anzeigen : Feldwert für alle Datensätze löschen


Schnecky
23.10.2001, 13:46
Hallo an alle,

ich habe eine Datenbank zum Verwalten der Teilnahme von Clubmitgliedern an regelmäßigen Events.

Ich möchte das Ja/Nein-Feld zum Anklicken der Teilnahme für den nächsten Event für alle Datensätze auf nein setzen.

Kann ich dafür eine Schaltfläche erstellen und wenn ja, wie? Geht das mit einem Makro? Bitte möglichst einfach antworten, bin Anfänger.

Danke schon mal im voraus
Sue

gloria
23.10.2001, 13:58
hi sue,

da würde ich am einfachsten eine Aktualisierungsabfrage dazu erstellen.

1. Du erstellst eine Abfrage auf die Tabelle mit dem Feld.
2.In der Entwurfsansicht der Abfrage wählst du
(Symbolleiste) Abfrage - Aktualisierungsabfrage
3. Im Feld Aktualisieren gibst du den "Wert" an
4. Das ganze speichern und anschließend aufrufen z.B. über eine Schaltfläche

Schau mal in de Hilfe dazu nach.

ciao glori

Jochum Rainer
23.10.2001, 14:04
Hallo!
Viele Möglichkeiten.
Am einfachsten geht das wohl über eine Aktualiserungsabfrage!

Nach Erstellen kannst du diese über eine Befehlsschaltfläche ausführen lassen.

Gruesse
Rainer Jochum

Schnecky
23.10.2001, 14:07
Hallo Gloria,

funktioniert prima. Gibt es jetzt noch eine Möglichkeit, die lästigen Nachfragen "wollen sie wirklich blablabla löschen" abzustellen?
Habe bisher noch nicht mit Aktualisierungsabfragen gearbeitet, aber das ist ja prima.

Danke für die schnelle Antwort
Sue

gloria
23.10.2001, 14:19
hi,
geht schon, kenn ich aber nur per VBA:
Bsp:
DoCmd.SetWarnings False
DoCmd.RunSQL "Deine Abfrage"
DoCmd.SetWarnings True

Mußt mal schauen, ob's zu SetWarnings einen Makrobefehl gibt.

Oder du beginnst mit programmieren:
In deiner erstellten Abfrage kannst du in die SQL-Ansicht wechseln. Kopier den Text in die Zwischenablage und setze ihn bei runsql ein:

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE zzz SET zzz.KUNDEN_GRUPPE = "XX";" '**Update sieht ungefähr so aus
DoCmd.SetWarnings True

Dies 3 Zeilen fügst du dann als Code "Beim Clicken" hinter der gewünschten Schaltfläche ein. Fertig. Ist "Kinder"-leicht.

ciao glori

Stema
23.10.2001, 14:35
Hallo Schnecky,

kannst Du aber auch in den Access-Option ausstellen. Ist dann aber PC-spezifisch.

Wobei Glorias Vorschlag wesentlich eleganter und für jeden PC unabhängig von Einstellungeen funktioniert.

Schnecky
23.10.2001, 15:41
Hallo,
vielen Dank für die Anworten, leider komme ich damit nicht so klar. In meiner SQL Ansicht für die Abfrage erscheint dieser Text:

UPDATE Mitgliederverzeichnis SET Mitgliederverzeichnis.[Auswahl 1] = No;

Wenn ich da irgendwas irgendwo einsetze, erzählt er mit immer nur, daß die SQL Anweisung update, delete usw. erwartet wird.

Und beim Code für den Button komm ich damit auch nicht weiter. Soll ich den ganzen Code, der da erscheint ersetzen? Bei Ereignisprozedur steht dieses:

Private Sub Befehl553_Click()
On Error GoTo Err_Befehl553_Click

Dim stDocName As String

stDocName = "Auswahl1/Nein"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_Befehl553_Click:
Exit Sub

Err_Befehl553_Click:
MsgBox Err.Description
Resume Exit_Befehl553_Click

End Sub

An welcher Stelle soll ich da was einsetzen, oder hab ich das völlig falsch verstanden????
Bin leider wirklich blutiger Anfänger, lerne gerne dazu. Wenn ihr Zeit zum Antworten habt, bin ich dankbar, wenn nicht kann ich auch weiter mit den Lösch-Bestätigungsnachfragen leben.

Danke
Sue

gloria
23.10.2001, 16:06
hi,
OK - nächste Runde, VBA-Code muß so aussehen:

Private Sub Befehl553_Click()
On Error GoTo Err_Befehl553_Click

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE Mitgliederverzeichnis SET Mitgliederverzeichnis.[Auswahl 1] = No;"
DoCmd.SetWarnings True

Exit_Befehl553_Click:
Exit Sub

Err_Befehl553_Click:
MsgBox Err.Description
Resume Exit_Befehl553_Click

End Sub

Ersetz
Dim stDocName As String
stDocName = "Auswahl1/Nein"
DoCmd.OpenQuery stDocName, acNormal, acEdit
durch die 3 DoCmd-Zeilen hier. Deine Prozedur "hinter" der Schaltfläche muß genau so lauten wie hier .

Nebenbei: Befehl553 !! Hast du schon 553 Befehlsschaltflächen eingefügt ??

ciao glori

Schnecky
23.10.2001, 17:02
Hallo Gloria,

ja jetzt funktionierts. Vielen heißen Dank, ich lerne dazu.

Ich hab nich so viele Befehlsschaltflächen, sondern eine alte Datenbank ein paarmal überarbeitet/kopiert und irgendwie waren es wohl insgesamt soviel (auch mit einigen Fehlversuchen beim Lernen). Ist das für die Datenbank ein Problem? Ich war auch meistens zu faul, die Dinger zu benennen, weil ich's bisher nicht gebraucht habe.

Also nochmal vielen Dank das Du/ihr euch die Zeit genommen habt.
Sue