ich habe in access eine tabelle mit [applikation], [anmeldename], [benutzername], [gueltig_von], [gueltig_bis]
in einem formular ist oben ein textfeld für den suchname(der in anmeldename gesucht wird)
ich möchte dass die felder bei denen das [gueltig_bis] feld kleiner als das heutige datum ist deaktiviert werden.
ich habe das mit der bedingten formatierung des textfeldes versucht. jedoch werden nur wenige felder deaktiviert unteranderem auch welche im jahre 2079 was nicht korekt ist.
ich möchte dass die felder bei denen das [gueltig_bis] feld
kleiner als das heutige datum ist deaktiviert werden.
ok, also beim Ereignis: bei Fokusverlust
des Suchfeldes den VBA Code mit der Bedingung eingeben.
ich habe das mit der bedingten formatierung des textfeldes
versucht. jedoch werden nur wenige felder deaktiviert
unteranderem auch welche im jahre 2079 was nicht korekt ist.
„bedingte Formatierung“ ist eine Formatierung und keine „bedingte Bedingung“ und definitiv der falsche Weg.
ich möchte dass die felder bei denen das [gueltig_bis] feld
kleiner als das heutige datum ist deaktiviert werden.
ok, also beim Ereignis: bei Fokusverlust
des Suchfeldes den VBA Code mit der Bedingung eingeben.
ich habe da noch nen button der die suchabfrage startet
hatte ich vergessen zu sagen^^
aber die suche funktioniert ja schon nur die formatierung nicht
ich habe das mit der bedingten formatierung des textfeldes
versucht. jedoch werden nur wenige felder deaktiviert
unteranderem auch welche im jahre 2079 was nicht korekt ist.
„bedingte Formatierung“ ist eine Formatierung und keine
„bedingte Bedingung“ und definitiv der falsche Weg.
das es der falsche weg ist habe ich mir schon fast gedacht…
aber welcher ist der richtige?
ich habe da noch nen button der die suchabfrage startet
hatte ich vergessen zu sagen^^
ok und du hast ein Endlosformular?
genau ein endlosformular
aber die suche funktioniert ja schon nur die formatierung
nicht
noch mal: das hat mit Formatierung nichts zu tun!!!
ich habe das mit der bedingten formatierung des textfeldes
versucht.
ich dachte es wäre ein Datumsfeld?
es ist ein textfeld in dem ein datum steht… manchmal steht aber auch nur aktiv oder inaktiv drin (das kann man leider nicht ändern weil ich die daten ja aus unterschiedlichen sql datenbanken hole und die unterschiedlich formatiert sind)
in einem Endlosformular kannst du nur zwischen an oder aus für
alle Felder der Spalte wählen. D.h. das was du vorhast,
funktioniert nicht.
so ganz stimmt das nicht: als ich nur eine tabelle hatte funtionierte das wunderbar…
Wenn du aber die Eingabe im Fuß anlegst, könntest du es
steuern.
was genau meinst du damit?
sorry ich kenn mich nich so ganz damit aus^^
aber torzdem danke
das ist nicht gut, wenn du gem. Datumsvergleich eine Auswahl treffen willst. D.h. du musst die Daten erst mal in ein Datumsformat umwandeln.
manchmal steht aber auch nur aktiv oder inaktiv drin (das kann man leider nicht ändern weil ich die daten ja aus unterschiedlichen sql
datenbanken hole und die unterschiedlich formatiert sind)
das ist nicht gut
erstelle dir eine Basis-Tabelle in Access mit Datumsfeld für diesen Vergleich
importiere dann die Fremdtabelle in diese Basis-Tabelle mit gleichzeitiger Konvertierung (per Anfügeabfrage)
konvertiere die Informationen in einen passenden Datumswert
z.B. aktiv = 31.12.2099 und inaktiv = 01.01.2000
nutze nur deine Basistabelle im Formular
in einem Endlosformular kannst du nur zwischen an oder aus für
alle Felder der Spalte wählen. D.h. das was du vorhast,
funktioniert nicht.
so ganz stimmt das nicht: als ich nur eine tabelle hatte
funtionierte das wunderbar…
hmm, das wäre mir neu, sprichst du von einer Tabelle in z.B. Excel?
Access bietet keine solche Funktion bei den Tabellen um Felder in Abhängigkeit vom Inhalt zu sperren.
Wenn du aber die Eingabe im Fuß anlegst, könntest du es
steuern.
was genau meinst du damit?
Ein Formular besteht aus drei Bereichen:
Kopf
Detailbereich
Fuß
Kopf und Fuß muss man extra einblenden
Du hast im Detailbereich nun Felder, die du anzeigen lässt, deine Endlosliste.
Du versuchst dort die Daten zu bearbeiten bzw. einzuschränken bei der Bearbeitung.
Verlagere die Bearbeitung in den Fuß
Wie geht das?:
markiere alle Felder im Detailbereich
Strg+C (=kopieren)
setze den Cursor in den Fußbereich (den du vorher eingeblendet hattest)
STRG-V (=einfügen)
nun stehen alle Felder auch im Fußbereich
markiere noch mal die Felder im Detailbereich
Rechtsklick -> Eigenschaften -> Reiter [Daten]
Aktiviert = NEIN
Gesperrt = JA
nun ist die Bearbeitung dort nicht mehr möglich
Die Bearbeitung der Datensätze erfolgt jetzt im Fuß
Dort kannst du auch wieder Bedingungen definieren, wann welches Feld angezeigt werden soll oder nicht, vorausgesetzt der Datentyp stimmt.