Moin Moin,
ich hab da mal ne Frage. Kann ich als Standardwert einer Tabelle einen Wert aus einer anderen Tabelle automatisch eintragen lassen?
Zur Erklärung:
In der Datenbank habe ich ein Formular eingebaut, in dem der Benutzer den Laufwerksbuchstaben und das Verzeichnis eingibt, in dem die Datenbank liegt. Somit konnte ich in einer Abfrage den Pfad für mit Formularen verknüpften Bildern entsprechend automatisch erstellen lassen. Um nun zu vermeiden, dass jeder Benutzer in der Haupttabelle den Standardwert für das Laufwerk ändern muss, möchte ich diesen automatisch setzen lassen anhand der hinterlegten Daten in der Tabelle für Luafwerksbuchstabe und Verzeichnis.
Ich hoffe, ich habe mein Problem einigermassen verständlich ausgedrückt.
Für Vorschläge schon mal vorab DANKE
Ich verwende Access 2007
Hallo,
nein das geht nicht.
Außerdem haben Tabellen keinen Standardwert sondern die Datenfelder innerhalb von Tabellen.
Hast du die Datenbank schon in Frontend und Backend aufgeteilt? Dies würde imo dein Problem lösen.
Gruß Andreas
Hallo,
vielleicht hilft das Beispiel anbei.
Gibt dort eine Tabelle LAUFWERK. Dort steht z.B. C oder ein anderer Laufwerksbuchstabe drin.
Im Formular FORMULAR1 gibt es ein Feld VERSUCHSFELD_1, dessen Defaultwert beim Anzeigen mit einem Vorgabewert aus der Tabelle LAUFWERK gefüllt wird.
Beim Öffnen wird der Vorgabewert aus der Tabelle LAUFWERK ausgelesen.
Harald
Hallo,
soweit ich das Problem verstanden habe, braucht es nur den Verzeichnis-Pfad, in dem die aktuelle DB_Anwendung ausgeführt wird. Den erhält man einfach mit
Currentdb.Path
Ist die Db in FE und BE aufgeteilt und wird der Pfad zur BE-Datei benötigt, kann man den Pfad z. B. aus der DAO-Eigenschaft "Connect" einer verknüpften Tabelle auslesen.
Danke für eure Vorschläge, aber das bringt mir nicht das gewünschte Ergebnis. Gibts eigentlich eine einfachere Möglichkeit den Standardwert eines Feldes in einer Tabelle zu ändern als über die Entwurfsansicht?
Hallo,
"aber das bringt mir nicht das gewünschte Ergebnis."
vielleicht ist eher Dein Wunsch nicht angebracht..
"Gibts eigentlich eine einfachere Möglichkeit den Standardwert eines Feldes in einer Tabelle zu ändern als über die Entwurfsansicht?"
Das gibt es theoretisch, aber es ist völliger Quatsch, die Standardwert-Eigenschaft eines Tabellenfeldes zur Laufzeit zu ändern.
Nochmal:
"in dem der Benutzer den Laufwerksbuchstaben und das Verzeichnis eingibt, in dem die Datenbank liegt."
wozu?
Mit
Msgbox Currentproject.Path
erhältst Du den Pfad, in dem die DB-(genauer: die Frontend-Datei) liegt. Da braucht niemand irgendwo was einzugeben...
Falls die Bilddateien auf einem Netzlaufwerk (gemappter LW-Buchstabe), bzw. dort in einem Verzeichnis liegen, ist die Methode des Auslesens der Current-Eigenschaft einer verknüpften Tabelle (und damit des Pfades, wo das BE liegt) zu empfehlen.
In beiden Fällen ist das Ablegen der Bilddaten in einem DEFINIERTEN Verzeichnis unterhalb des FE/BE-Verzeichnisses vorteilhaft.
"konnte ich in einer Abfrage den Pfad für mit Formularen verknüpften Bildern entsprechend automatisch erstellen lassen. "
In einer Abfrage ??
Was sind "mit Formularen verknüpften Bildern " ?? Sind das (Hintergrund-) Bilder, die für die Darstellung des Form gedacht sind, oder sind das Bilder, deren Dateinamen in einer Tabellenspalte stehen, die mit Hilfe eines Bild-Steuerelementes angezeigt werden sollen?
ich hab es nach deiner variante umgesetz DF6GL. musste zwar vieles umbauen, aber es läuft.... danke