Hi!
Kann man in Access 2003 in einem Formular ein Eingabefeld so änlich wie die AutoVervollständigung im zB Internetexplorer?
Also dass man Einträge auswählen kann die schon in der Tabelle vorhanden sind, oder einen neuen eingeben?
lg Dirm
Access 2003 Eingabefeld
-
- Problem
-
Dirmhirn -
15. November 2007 um 15:50
-
-
Combobox verwenden (auf deutsch: Kombinationsfeld).
Dort als Datenquelle die Tabelle angeben und die Eigenschaft "nur Listeneinträge" auf falsch setzen (ist glaub ich eh falsch per default).
So hast du alle Werte aus der Tabelle zum Auswählen (mit Auto-Vervollständigen falls du was eintippst), kannst aber trotzdem auch ganz eigene Werte eingeben.
-
echt?
cool da muss ich mir das nochmal anschauen.
Danke! -
hmm ja im Prinzip geht das, aber:
Wenn ich in dem Feld Daten aus einer anderen Tabelle verknüpfen will, also zB: in einer Film-DB, gibt es die auswahl (DVD, VHS, SVCD, Datei) diese Daten sind in einer eigenen Tabelle Typ(typ_ID und Typname)
In dem eingabe Formular (filmtitel, darsteller, FSK,...., Typ) will ich dass er die Typnamen anzeigt.
Also, dass man DVD, VHS, SVCD, Datei auswählen oder zb einfach MVCD reinschreiben kann.
d.h. er müsste dann in der Tabelle Typ einen neuen Datensatz (4,MVCD) anlegen.
ist das Möglich?
Wäre das mit PHP und MySQL möglich?
lg Dirm -
Ist in Access möglich.
Aber wozu braucht jeder Typ eine eigene ID?
Ich würde den Typnamen selber als PrimaryKey definieren.Also angenommen du hast eine Tabelle TYPEN mit der Spalte typname (als PK), dann kannst du das so lösen:
Auf die Combobox ein AfterUpdate-Event definieren mit folgendem Code:
Code
Alles anzeigenPrivate Sub typCombobox_AfterUpdate() Dim typeAlreadyExists As Variant Dim selectedTyp as string selectedTyp = "'" & typCombobox.Value & "'" typeAlreadyExists = DLookup("typname", "TYPEN", "typname = " & selectedTyp) If IsNull(typeAlreadyExists) Then CurrentDb.Execute "INSERT INTO TYPEN(typname) VALUES (" & selectedTyp & ")", DB_FAILONERROR typCombobox.Requery End If End Sub
Alles klar?
-
woah, VBA-Coder sieht man nicht alle Tage
-
Tja hehe, ich hab in der Arbeit andauernd mit VBA zu tun, für fast sämtliche Office-Komponenten :shinner:
-
Danke für das Script, habe leider keine Ahnung von VBA.
Hatte funktioniert.
Aber wenn ich den Typ als Primärschlüssel nehme, steht ja in der Haupttabelle wieder in jeder Spalte DVD oder VHS...
Dachte der Sinn bei so auslagerungen ist, dass dann in der einen Tabellenur mehr zahlen stehen, die ja weniger speicher als der Text benötigen.
Außerdem hätte ich das ganze ja gerne für Tabellen mit mehr spalten. zb dass ich in die Typ tabelle noch die Abmessungen einer DVD... speichere.
Da hab ich aber das Problem, dass sich Access schon beschwert, sobald ich nicht die erste Spalte in der Kombobox anzeigen lasse.
also Typ_ID, und Typ in die Kombobox, aber eben Spalte 1 = 0cm und 2. 2cm, sodass man nur die Namen sieht.
Hättest du da auch eine Lösung
lg Dirm
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!