Zum Inhalt springen

Zwei Kombinationsfelder in Access verknüpfen


A-Fisch

Empfohlene Beiträge

Hallo Leute.

ich habe ein Problem und hoffe, dass ihr es lösen könnt.

Ich muss zwei Kombinationsfelder miteinander verknüpfen.

Wenn ich aus dem einem Kombinationsfeld eine Kategorie auswähle, möchte ich im zweiten Kombinationsfeld nur die dazugehörigen Unterkategorien aufgelistet haben.

Wie bekomme ich dieses hin.

Tschüß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Als erstes solltest du ein Kombinationsfeld erstellen, welches alle Hauptkategorien enthält --> nennen wir es H_Kategorie.

Danach erstellst du ein zweites Kombinationsfeld, allerdings ungebunden.

Dieses darf nicht auf irgendeine Tabelle zugreifen --> dies nennen wir U_Kategorie.

Dann benötigst du in etwa folgenden Quelltext:

Private Sub H_Kategorie_AfterUpdate()

U_Kategorie = Null

End Sub

------------------------------------------------------------

Private Sub U_Kategorie_Enter()

On Error GoTo fehler

Dim sqlstr2 As String

sqlstr2 = "SELECT Unterkategorie FROM tbl_Unterkategorie"

If Not IsNull(Me.H_Kategorie) Then sqlstr2 = sqlstr2 & "WHERE Hauptkategorie='" & H_Kategorie & "' "

If IsNull(Me.H_Kategorie) Then sqlstr2 = "SELECT Unterkategorie FROM tbl_Unterkategorie"

U_Kategorie.RowSource = sqlstr2

ende:

Exit Sub

fehler:

Resume ende

End Sub

Sohab ich es jedenfalls gemacht, als ich das selbe Problemhatte.

Probier es einfach aus.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nochmals hallo Pittiplatsch

Habe nun eine andere Frage an dich.

Wie kann ich die Daten eines Access-Formulars in einer Tabelle der selben Datenbank abspeichern?

Das ist mein Vorhaben:

Ich trage Daten in ein Formular, dass nun auch die funktionsfähigen Kombinationsfelder besitzt, ein und möchte durch das Drücken eines Buttons diese Daten in einer Tabelle zur Archivierung ablegen.

Ich habe es schon mit dem Assistenten verucht, doch bei dieser Assistentenhilfe kann ich nicht die Zieltabelle eingeben, wo die Daten abgespeichert werden sollen.

Hoffe auf deine Kompetenz wieder zähen zu können.

Danke im Voraus für deine Bemühungen

A-Fisch

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

demnach ist dein Formular ungebunden?

Wenn dein Formular gebunden ist, wird es sofort in der Tabelle eingetragen. Bei einem ungebundenen Formular mußt du mit VBA eine Prozedur erstellen, die dir die Daten in der Tabelle speichert, in dem du z.B. die Formularfelder alle mit "txt_" bze. "cob_" und dem Spaltennamen benennst und dann alle Formularfelder "durchläufst" und alle Spalten deiner Tabelle durchläufst und wenn der Name des Formularfeldes (ohne "txt_" ...) mit dem Namen der Spalte übereinstimmt, werden die Daten gespeichert. So oder so ähnlich. Noch zu unterscheiden wäre insert und update. Und zum Laden brauchst du dann ggf. eine weitere Prozedur.

Grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für dein Vertrauen in meine Kompetenz :):)

Wenn ich dich richtig verstanden habe, willst du einfügen und nicht ändern, also wäre in deinem Fall der AddNew - Befehl anzuwenden

Hier erstmal ein kleines Code - Beispiel:

Private Sub speichern_Click()

Dim db As DAO.Database

Dim rs As DAO.Recordset

'Festlegen der Datenbank

Set db = CurrentDb()

'Festlegen der Tabelle

Set rs = db.OpenRecordset("deine_Zieltabelle")

'Prüfen auf Vorhandensein der Daten um doppelte Daten zu vermeiden

sqlstr = "SELECT COUNT(*) FROM deine_Zieltabelle WHERE Kriterienangabe"

'Wenn kein gleicher Datensatz vorhanden ist

If (db.OpenRecordset(sqlstr, dbOpenDynaset)(0) = 0) Then

rs.AddNew

rs!feld1 = Textfeld1

rs!feld2 = Textfeld2

rs!feld3 = Textfeld3

rs!feld4 = Textfeld4

rs!feld5 = Textfeld5

rs.Update

'Sonst

else

msgbox("Datensatz bereits erfasst")

endif

end sub

Den mußt du dir entsprechend deiner Textfelder und deiner Zieltabelle anpassen. Nach Möglichkeit solltest du 1 - 2 Kriterien bei der Prüfung auf vorhandene Datensätze angeben.

Sollte es doch noch Schwirigkeiten geben, einfach noch mal fragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Pittiplatsch,

ich bins noch mal. Zurzeit brauch ich ständig deine Kompetenz.

Mein nächstes Problem liegt darin, dass ich nicht weiß wie ich ein Bild in einem neuen Formular öffnen kann, wenn der Quellpfad in einem ersten Formular eingetragen wird.

Hier will ich auf das Feld BildURL, wo der Pfad für das Bild steht, klicken können und das Bild in einem zweiten Formular mir anschauen können

A-Fisch

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...