collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 49
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13799
  • stats Beiträge insgesamt: 63494
  • stats Themen insgesamt: 8604
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Ja / Nein Eintrag für bestimmten Bereich  (Gelesen 150 mal)

Offline Mina

  • Access-User
  • *
  • Beiträge: 57
Ja / Nein Eintrag für bestimmten Bereich
« am: November 12, 2017, 09:17:31 »
Guten Morgen Forum,

ich brauch mal wieder Eure Hilfe.
Ich habe eine Tabelle mit ca 30 000 Zeilen. In jeder Zeile ist ein Datum mit Uhrzeit hinterlegt z.B. 01.03.2017 16:44. Jetzt würde ich gern in einer anderen Spalte einzelne Zeilen markieren. Dazu habe ich ein neues Feld dazugehängt mit der Feldeigenschaft Ja/Nein. Wie kann ich jetzt nachträglich eine Bedingung eingeben, das Access die jeweiligen Felder auf Ja setzt.
Ich habe es in den Kriterien des Feldes probiert mit =Wenn([Datum]<"1.10.2017*";1;0). Das funktioniert leider nicht und ich möchte natürlich nicht 30 000 Zeilen von Hand nachbearbeiten müssen.

vielen Dank im Voraus für Eure Hilfe

Gruß
Mina
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6938
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #1 am: November 12, 2017, 09:46:30 »
Hallo,
wenn braucht es da nicht. Und ein Datum muss in # eingeschlossen werden.
Das als Kriterium reicht, in der Spalte mit dem Datum.
<#10.11.2017#Und Ja ist -1 nicht 1. Da muss auch eine Aktualisierungsabfrage sein.
In die Zeile Aktualisieren kommt dann einfach -1.
Aber, Dein Vorhaben ist fragwürdig. Das Tabellenfeld brauchst Du nicht, eine Abfrage reicht da aus.

Wozu brauchst Du hier den Haken in der Tabelle ?
Gruß
Klaus
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23089
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #2 am: November 12, 2017, 09:51:28 »
Hallo Mina,

das kann eine Aktualisierungsabfrage leisten.

schön wäre es, wenn auch die konkreten Tabellen- und Feldnamen bekannt wären.

So halt nur beispielhaft als SQL-Statement:


Update tblEineTabelle Set  [JaNeinFeld] = True  Where [Datum] < #10/01/2017#


Allerdings ist dieses Vorgehen eher überflüssig.  Berechnete Werte (und um einen solchen handelt es sich hier) sollten nicht gespeichert werden. Es ist jederzeit möglich, diesen "Ja/Nein"-Zustand anhand des Datums an allen den Stellen zu berechnen, wo er gebraucht wird.

Offline Mina

  • Access-User
  • *
  • Beiträge: 57
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #3 am: November 12, 2017, 10:15:33 »
Hallo,

ich danke Euch für die schnelle Antworten.
Ich filtere bestimmte Datensätze mit einer Abfrage, die einen Zeitraum eingrenzt mt Zwischen [DATUM VON] Und [DATUM BIS] und einem Abfragekriterium z.B. "Hase" aus einer Tabelle heraus.

Unsere aufgabe ist es unter anderem alle Hasen, die ein bestimmtes Kriterium aufweisen in einer anderen Datenbank zu markieren. Um den Überblick zu behalten setzen wir in unserer Access Datenbank bei dem Datensatz eine Markierung, den wir in der anderen Datenbank (diese ist Öffentlich) markiert haben.

Markiert haben wir alle Datensätze bis zum 1.10.2017. Diese Datensätze möchte ich jetzt automatisiert markieren, da es ca. 28 000 sind.

Die Tabelle aus der die Abfrage resultiert heißt Su-Resultate1. Der Feldname heißt PATIDOK und der Felddatentyp Ja/Nein

Vielen Dank

Mina

 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6938
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #4 am: November 12, 2017, 10:19:08 »
Hallo,
das Ja/Nein Feld ist wie gesagt überflüssig. Du kannst jederzeit die normale Auswahlabfrage (mit dem Kriterium) statt der Tabelle mit dem Haken für Deine weiteren Aktionen verwenden.
Gruß
Klaus
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23089
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #5 am: November 12, 2017, 11:23:41 »
Hallo,

und wenn partout auf dieser Methode bestanden wird, dann halt eben die konkreten Objektnamen einsetzen:


Update [Su-Resultate1] Set  PATIDOK = True  Where [Datum] < #10/01/2017#


Evtl. müssen weitere Kriterien berücksichtigt werden, z. B die "Tierart" ("Hase")


btw: Auf Leer- und Sonderzeichen dringend verzichten!

Offline Mina

  • Access-User
  • *
  • Beiträge: 57
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #6 am: November 12, 2017, 12:27:41 »
Hallo Franz DF6GL,

wo setze ich deinen Code ein?

Gruß
Mina
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6938
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #7 am: November 12, 2017, 12:29:32 »
Hallo,
das ist kein VBA Code, das ist eine Abfrage, die in das SQL Fenster eingegeben werden muss.
Aber ich bin ja etwas rechthaberich, daher: Es ist überflüssig  ;D
Gruß
Klaus
 

Offline Mina

  • Access-User
  • *
  • Beiträge: 57
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #8 am: November 12, 2017, 12:47:33 »
Hallo,
ich bin anscheinend zu blöd.
Meine select Anweisung in der Abfrage sieht folgendermaßen aus:
Update [Su-Resultate1] Set PATIDOK = True  Where [LABEINDAT] < #10/01/2017#
SELECT Su_Resultate1.NAME, Su_Resultate1.VORNAME, Su_Resultate1.GEBDAT, Su_Resultate1.PATISTAMMNR, Su_Resultate1.EINSKURZ, Su_Resultate1.LABEINDAT, Su_Resultate1.ERGEBNIST1, Su_Resultate1.ERGEBNIST2, Su_Resultate1.AUFNDAT, Su_Resultate1.PATIDOK
FROM Su_Resultate1;


Er gibt mir die Fehlermeldung
Syntaxfehler UPDATE ANWEISUNG beim = Zeichen nach PATIDOK:

Mit der Bitte um etwas Geduld
Gruß
Mina
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23089
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #9 am: November 12, 2017, 19:52:28 »
Hallo Mina,

was machst Du denn da eigentlich??

Das Beispiel zeigt zwei aneinandergehängte  SQL-Statements in einer Abfrage (Abfrage-Objekt), und das geht so nicht..


Öffne den Abfrageentwurf für eine neue Abfrage, wähle "SQL-Ansicht" und kopiere den SQL-String



Zitat
Update [Su_Resultate1] Set  PATIDOK = True  Where [Datum] < #10/01/2017#


in das SQL-Fenster. Das anfängliche "Select" muss überschrieben werden...

Führe dann die Aktualisierungsabfrage durch Klick auf das Ausrufezeichen aus...

Anschließend kannst Du die Abfrage ja speichern, wenn sie wieder benötigt werden sollte. In einer laufenden Anwendung würde die Abfrage natürlich mit dynamischen Kriteriums-Parametern versorgt werden, nicht mit einem starren Wert (hier das Vergleichsdatum)..



Zudem wurde anfänglich die Tabelle fehlerhaft bezeichnet. 

Aber Vorsicht:  Die Aktualisierung ist durch, bevor Du es bemerkst!  (Falls die Objektnamen stimmen.) Mach solche Experimente an einer Test-DB.

Btw:  Vermeide unbedingt reservierte Wörter für die Benennung der Objekt.

Su_Resultate1.NAME

Wenn sich das nicht vermeiden lässt, was so gut wie nie zutreffend ist, dann setze um das reservierte Wort Eckklammern.

Selbiges gilt für Sonder- und Leerzeichen.

Su_Resultate1.[NAME]    besser:  Su_Resultate1.NachName


Und: für die sofortige Umsetzung dieser Regel gibt es kein Argument..   ;) 8)

Offline Mina

  • Access-User
  • *
  • Beiträge: 57
Re: Ja / Nein Eintrag für bestimmten Bereich
« Antwort #10 am: November 13, 2017, 17:49:31 »
Hallo,

vielen Dank für Deine Mühe. Jetzt hat es geklappt.
Wir hatten uns schon auf einen mühevollen Weg vorbereitet.

Vielen Dank und Dir einen schönen Abend.

Gruß
Mina