Hallo Ihr lieben,
ich bin neu im Forum und Anfänger ist echt kein Pseudonym.
ich versuche gerade eine Datenbank zu erstellen.
Dabei möchte ich aufmerksam gemacht werden, wenn zwei Felder zusammen, z.B. Name und Datum, in dieser Form schon vorhanden sind.
Mit Indiziert komme ich da nicht weiter. Gibt es da eine Möglichkeit.
Würde mich über Hilfe wirklich freuen.
Gruß
Franzi
Hallo,
doch, mit Index geht es. Du kannst einen aus den beiden Feldern zusammengesetzten eindeutigen Index anlege. Das kann man im Indize Fenster machen.
Bei beiden Felder muss dann aber Eingabe erforderlich auf Ja stehen.
Noch eine Anmerkung:
Name als Feldname ist tabu.
Ein Datumsfeld muss dann aber zwingend ohne Uhrzeit sein.
Hallo - und DANKE!
ich habe eben erstmal gegoogelt was ein Indize Fenster ist :-[
Klar, das da unten. Wenn ich das jetzt mache, dann sagt Access, dass es nicht möglich wäre, weil dann Duplikate da wären.
Das kann ja grundsätzlich auch gerne sein, also habe ich auf Duplikate möglich gesetzt. Jetzt geht das. Wenn ich aber den gleichen Namen (Jetzt Freunde) auf den gleichen Tag setze, dann meckert er garnicht.
Wie kann ich das hin bekommen, das "er" mich anmeckert. ?
Hallo,
der eindeutige Index darf keine Duplikate zulassen.
Und den Index kannst Du nur anlegen, wenn es keine Duplikate gibt.
Das musst Du also prüfen und erst die Duplikate löschen.
Zeige mal ein Bild des Indizefensters.
Aber das Vorhaben schein mir aber eher unbrauchbar zu sein.
Was hast Du da vor, willst Du zu einer Veranstaltung (Datum) Freunde einladen.
Im Regelfall läuft das alles über nummerische Schlüsselfelder und nicht über Name und Datum.
Erkläre das mal genauer und zeige mal ein Bild des Beziehungsfensters.
Ja gerne, aber wie?
Die Tabelle kopieren und einfügen geht nicht. ??
Gleiche Werte sind in der Tabelle nicht drinnen.
Hab mal ein Bild mit Snipping Tool gemacht.
Was hab ich vor. Access lernen und dabei etwas sinnvolles machen, was ich ohnehin brauch.
Hallo,
wenn Du Access lernen willst, so muss das anders gemacht werden.
Hier sind mindestens 3 Tabellen notwendig.
- Personen (=Freunde)
- Veranstaltung
- VeranstaltungFreund
In der 3. Tabelle wird der Primärschlüssel der Person und der Primärschlüssel der Veranstaltung jeweils als Fremdschlüssel gespeichert. Und über die beiden Fremdschlüssel legt man dann den zusammengesetzten eindeutigen Index.
Du solltest Dich mit den Grundlagen zu Access beschäftigen.
Siehe hierzu:
https://www.access-tutorial.de/
Hallo!
Das mach ich bestimmt!!
Vielen Dank erstmal :)
Jetzt habe ich mich so gefreut.
Aber mein Kopf fühlt sich gerade so leer an. Ich werde das erstmal anfangen zu lesen.
Das ist wohl für mich noch zu schwer!
Gruß
Hallo!
Ich habe mich da versucht durch zu ackern. Leider funktionieren die Beispiele mit meinem Access2016 nicht.
Also habe ich das Internet heiß laufen lassen und erfahren, dass es für mein Problem noch eine zweite Lösung gibt.
Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "Termin mit den Freunden", _
"[Freunde]='" & Me!Freunde & "'" & _
"AND [VonDatum] =" & Format(Me!VonDatum, _
"\#dd-mm-yyyy\#")) > 0 Then
If MsgBox("Mit dem bist du doch schon an dem Tag verabredet" & _
"Soll die Eingabe verworfen werden?", _
vbQuestion + vbYesNo) = vbYes Then
Me.Undo
Else
Cancel = True
End If
End If
End Sub
Aber obwohl es absoluten Sinn macht, passiert nichts. Über Debuggen - Kompilieren gibt es keine Fehlermeldung, aber es geht nicht.
Jemand eine Idee? Das wäre echt toll!
Zitat von: Anfänger99 am August 14, 2017, 10:56:56Aber obwohl es absoluten Sinn macht, passiert nichts. Über Debuggen - Kompilieren gibt es keine Fehlermeldung, aber es geht nicht.
Das "passiert nichts" solltest du nochmal genauer überprüfen. Z.B. Indem du einen Haltepunkt in deinen Code setzt.
Was auffällt, ist dass dein Datumsformat nicht korrekt ist. Access erwartet entweder das US- oder das ISO-Datumsformat. Also ändere mal deinen Formatstring in YYYY-MM-DD.
... Format(Me!VonDatum, "\#yyyy-mm-dd\#") ....
Hallo,
ZitatJemand eine Idee? Das wäre echt toll!
Du wolltest doch Access lernen.
In einem korrekt aufgebauten Datenbank würde man so etwas gar nicht benötigen.
Die Vergleiche ("[Freunde]='" & Me!Freunde) würden auch nicht über den Klartext laufen, sondern über die Schlüsselfelder. Auch für das Datum (den Termin) sollte es ein Schlüsselfeld geben, sodass der Vergleich nicht über das Datum läuft, sondern über die Schlüsselzahlen, weil es für die Termine eine extra Tabelle geben muss mit einem Feld für einen Primärschlüssel.
Wenn man dann in einem Hauptformular einen Termin anzeigt, könnte man in einem Unterformular die Freunde dazu auswählen und die Abfrage so gestalten, dass es gar nicht möglich ist einen Freund zum gleichen Termin noch mal auszuwählen.
Und das alles ohne VBA, nur mit den Bordmitteln von Access.
Weiterhin, sollte es für alle Termine eine Tabelle geben.
Siehe auch meine Hinweise in #5.
Dein Vergleichsdatum ist auch falsch, das muss entweder im US Format (mm.dd.yyyy) oder im ISO Format (yyyy.mm.dd) übergeben werden. Völlig unabhängig von dem Format das Du verwendest.
Manno, ich war soooooo stolz auf mich :'(
Ja, versuch das noch mal!
Erst mal vielen Dank. Melde mich wieder!
Ohhhhh man, ihr seid ja so toll!
Haltepunkt ok. Das merk ich mir.
Es funzt!!
Super vielen Dank. Freu!! :) :) :) :) :) :) :)