2009-08-13 4 views
1

Im Moment arbeite ich an einer neuen Datenbank, die Änderungen an einem unserer Handbücher zeigen, die Leute verlangen. Ich habe zwei Tische und ein Formular. Die erste Tabelle enthält alle Informationen, die aus der Referenz oder dem Unterkapitel des Handbuchs, dem aktuellen Text in diesem Unterkapitel und den vorgeschlagenen Änderungen gespeichert werden. Die zweite Tabelle dient der Unterkapitelreferenz mit drei Feldern: ID, SubChapter und einem Memofeld mit dem, was das Unterkapitel sagt. Im Moment benutze ich ein Kombinationsfeld für die Kapitelreferenz und je nach Referenz füllt es ein anderes Feld mit aktuellem Text aus einem anderen Feld. Hier ist mein if-Anweisung eine bessere Vorstellung zu bekommen:Benötigen Sie einen besseren Weg als mit if-Anweisungen in MS Access

If code_ref = "82.101(c)" Then 
current_code = "Other County Regulations" 
proposed_code.SetFocus 
End If 

Was Ich mag würde, ist zu tun, um die tausend drehen, wenn Anweisungen in ein Lookup, wo sie den Verweis überprüft und dann den richtigen Text in dem nächsten Feld einfügt. Ich habe Schwierigkeiten, einen Weg zu finden, dies zu tun, ohne die if-Anweisungen zu beenden. Ich möchte es bei Änderung tun, damit sie durch den Hinweis radeln können, um genau zu finden, nach was sie suchen. Irgendwelche Vorschläge?

Aus meinem Kommentar: Eine Idee davon, wie dies funktioniert, werden sie öffnen das Formular füllen Sie ihren Namen, das Element es unter fällt, verwenden Sie die Combobox, um die Codereferenz auszuwählen, sobald sie die Code-Referenz auswählen Das Feld für das aktuelle Code-Feld wird für sie ausgefüllt, und es wird auf das vorgeschlagene Code-Feld fokussiert, damit sie ihre Änderungen vornehmen können.

Antwort

4

Ist die Referenz in einer Tabelle, und wenn nicht, können Sie bauen eine solche Tabelle:

code_ref  current_code 
82.101(c) Other County Regulations 

Mit einer solchen Tabelle sollten Sie in der Lage sein, eine Abfrage zu erstellen, mit der der current_code wh angezeigt werden kann en code_ref ist ausgewählt.

bearbeiten re Kommentar

Sie können hier eine Abfrage erstellen, die Daten aus beiden Tabellen auswählt und dann die Assistenten verwenden, um eine Combobox hinzuzufügen durch die Datensätze zu navigieren. Wenn Sie über eindeutige Schlüssel verfügen, kann das Re-Cord-Set bearbeitbar sein.

Sie können hier eine Combobox einrichten, die verwendet werden können, die entsprechende Tabelle DLookUp:

Me.txtTextBox = DLookUp("FieldYouWantToReturn","TableNameHere","current_code='" _ 
    & Me.cboCombobox & "'" 

Die Art und Weise DLookup (kurz) ist:

DLookUp("FieldYouWantToReturn","TableNameHere","NameOfTextFieldInTable='" _ 
     & Me.ControlOrValueToCompare & "'" 

Me ist eine Abkürzung für die aktuelles Formular
Beachten Sie, dass das Steuerelement außerhalb der Anführungszeichen liegt
Wenn Sie eine Zahl vergleichen möchten, benötigen Sie keine Anführungszeichen
Wenn Sie w Um ein Datum zu vergleichen, benötigen Sie Hash-Zeichen # yyyy/mm/dd #

Möglicherweise können Sie ein Unterformular mit current_code für die Verknüpfungsfelder verwenden.

Dies sind nur ein paar Ideen, es ist nicht ganz klar, was der Benutzer tun soll.

+0

Ja, so ist die zweite Tabelle auch mit einem eindeutigen ID-Feld eingerichtet. – Dennis

+0

Ich habe ein paar Notizen hinzugefügt. – Fionnuala

+0

Eine Idee davon, wie dies funktioniert, ist, sie öffnen das Formular füllen Sie ihren Namen, das Element, unter dem es fällt, verwenden Sie die Combobox, um die Codereferenz auszuwählen, sobald sie die Codereferenz für das aktuelle Codefeld Feld ausgewählt werden Sie werden sich auf das vorgeschlagene Code-Feld konzentrieren, damit sie ihre Änderungen vornehmen können. – Dennis