Access 2010 bestimmte bereicht vom Datensätze Loeschen ausschliessen?

CoregaTab

Lieutenant
Registriert
Juni 2006
Beiträge
555
Hallo, ich habe ein kleines Access Problem.
In einem Formular habe ich einen Papierkorb eingebunden das Datensaetze loescht, jetzt wuerde ich gerne bestimmte Daten von dem Loeschen auschliessen.

z.B. habe ich in Felder Namen stehen und dahinter ein Feld mit Datum. Jetzt wuerde ich gerne ueber den Papierkorb/Loeschen Knopf das Datum Loeschen aber nicht die Namen.
Zur Zeit wird alles geloescht.

Vielen Dank

mfg
 
Es sind nicht nur Datum sondern auch andere Einträge und bitte etwas genauer. Bin mit Access nicht so sehr befreundet. ;)

Danke
 
Bei Access ist es immer schwierig, nachzuvollziehen, was genau passiert, wenn man sich so ein Formular zusammenbastelt und Standardbuttons verbaut.
Für mich als Programmierer ist es wesentlich sauberer, eben die SQL Befehle zu verwenden wie "delete from" als irgendwelches VBA-Access-Gebabel. Wenn du dir den Code hinter deinem Formular anschaust (ALT+F11), wirst du das mit etwas Glück herausfinden, was passiert, wenn du den Löschen-Button drückst. Das muss eben geändert werden in einen Befehl namens "update set", mit welchem man bestimmte Felder eines Datensatzes überschreiben kann. Alternativ kannst du auch den Datensatz löschen und mit den Werten, die behalten werden sollen, neu erstellen. Allerdings ist das in meinen Augen alles andere als effizient.
 
AKW_VIP3R schrieb:
Es sind nicht nur Datum sondern auch andere Einträge und bitte etwas genauer. Bin mit Access nicht so sehr befreundet. ;)
Ich bin mir zwar nicht sicher, was du denn nun wirklich willst ... :( aber es könnte sein, dass du "nur" verschiedene Felder in bestimmten Datensätzen ändern willst.

Sieh dir mal einfach die Aktualisierungsabfrage an, damit geht das, was du eventuell willst, recht gut. Und solch eine Abfrage in Access ist auch nichts weiter als in für nicht-Programmierer schön eingepackte SQL-Anweisung.

@WingX: In Access kannst du dir die SQL-Anweisung einer Query auch direkt anzeigen lasen. Und die kannst (und sollst/wirst) du dann auch optimieren.
 
Ich hab sonst eher mit MS SQL Server und Oracle zu tun und musste letztens mit Access was machen. Ich hab längere Zeit gebraucht, um zu begreifen wie das da alles funktioniert. Soviel zum Thema Trennung von Daten und Oberfläche. Fast alles kryptische Befehle im Code, wo man nicht genau weiß, was Access damit macht. Irgendwie funktionierts halt.
 
Nun ja,

der automatisch kreierte Code in Access ist in der Tat grauenhaft. Aber wenn ich meine Queries selber schreibe und entsprechend einbinde, dann ist das sogar lesbar :evillol:.

Und seit ewigen Zeiten finde ich Access als Frontend für SQL-Server eine feine Sache :D.
 
Also, der Datensatz besteht aus mehreren Felder.

Name
Rang
Einheit
Tel.
Handy

Diese Daten sollen nicht geloescht werden

dann sind noch Felder

Recall
Erreicht
Infos

In dem Formular bleiben die ersten Felder Fest eingetragen und sind nicht aenderbar, die anderen 3 Felder soll man einfach per knopfdruck leeren das man sie nicht imemr manuel loesche muss.
 
Moin AKW_VIP3R,

mir geht es wie vielen Usern hier: Ich helfe gerne hier im Forum, wo ich kann, aber es soll stets Hilfe zum Weiterkommen sein und nicht die komplette Lösung.

Darum hier eine Frage: Hast du jemals schon eine Abfrage erstellt? Kannst du damit umgehen? Das ist nicht ironisch oder so gemeint, sondern ich möchte schon wissen, wo ich einsteigen soll ...
 
Ich denke, damit wird die Sache noch einfacher.
Der Knopf "Daten löschen" soll folgendes machen: Von dem angezeigten Datensatz sollen die Felder Recall, Erreicht, Infos gelöscht werden. Man müsste also eine benutzerdefinierte Aktion beim Drücken des Knopfes ausführen, welches die Textfelder des Formulars leert und ein Speichern ausführt. Das sollte doch nicht allzu schwer sein. Da muss man nicht mal komplexe Abfragen erstellen.
 
@ WingX:

Willst du dem TS erzählen, dass auf jeden Fall noch eine Schlüsselfeld (eindeutiger Index) fehlt oder soll ich das tun? :evillol:

(Mit der ID habe ich den SQL-Code schon parat)
 
Zurück
Oben