Templates by BIGtheme NET
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA:

Datenbank: Einlesen von Dropdownfelder einer Datenbank 26 Nov 2024 23:03 #1

  • Meiky
  • Meikys Avatar Autor
  • Offline
  • Beiträge: 27
  • Dank erhalten: 8
Hallo Zusammen,

ich möchte einen Text aus einer Dropdownliste meiner Access-Datenbank auslesen.
Ich muss dazu sagen, dass die Access-Dropdownliste eine Beziehung zu einer anderen Tabelle hat.

Anstelle des Textes bekomme ich nur die Zeilennummer (ID) der Access-Dropdownliste angezeigt.(In meinem Beispiel die "1")

Desweiteren möchte ich Daten aus der Datenbank in eine Dropdownliste in Clickexe setzen.
Hier bekomme ich meine Daten der Datenbank nicht in die Liste.

Meine Tabelle möchte ich ebenfalls mit Daten der Datenbank füllen.Aber ich möchte natürlich ein Schritt nach dem anderen machen

Ich probiere ja sehr gerne selbst, aber ich komme gerade nicht weiter.
Um mein Hauptskript nicht zu quälen, habe ich ein Testscript erstellt.
Sobald dieser Funktioniert, stelle ich Ihn als Beispielscript ins Forum.

Vielleicht hat jemand von euch einen Rat oder einen Hinweis für mich.

Liebe Grüße

Meiky


cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (32 Zeilen, cX 5.0.10.7, Lizenz: Tabellen-Element, Pro, Datenbank)

Dateianhang:

Dateiname: testdata.zip
Dateigröße:20 KB
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Meiky.

Datenbank: Einlesen von Dropdownfelder einer Datenbank 27 Nov 2024 10:44 #2

  • Dennis
  • Denniss Avatar
  • Abwesend
  • Administrator
  • Administrator
  • Beiträge: 204
  • Dank erhalten: 263
Hi Meiky,

um die Dropdown Box zu füllen, ist die Angabe von ID=Wert Paaren erforderlich. Das könnte so aussehen:

cX4Web cX4Web Code

Was ist das?

1 Datenbank Modus 'Öffnen/SQL ausführen', ID 'main', Datenbank 'testdata.mdb', Tabelle/SQL 'SELECT MieterID, Vorname FROM Mieter', DS-Nummer 1
2 Dropdown-Liste '[cX.Datensatz(main).TabellenText(=)]', mit IDs (ID='ListeMieter', X='27,78', Y='9', Zielfenster='HOME')

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (2 Zeilen, cX 5.0.10.7, Lizenz: Pro, Datenbank)



Bezüglich der Wohnungen wird genau das angezeigt, was im Feld steht. Das ist in der Mieter-Tabelle jeweils die Wohnungs-ID. Wenn du die Inhalte textuell haben möchtest, müssen die Daten aus beiden Tabellen mittels JOIN verbunden werden. Die Abfrage könnte so aussehen:

SELECT Mieter.MieterID, Mieter.Vorname, Wohnung.Wohnung, Wohnung.StadtFROM Wohnung INNER JOIN Mieter ON Wohnung.WohnungID = Mieter.Wohnung;

Ansonsten sieht das ganz gut aus. Bedenke bei der Wahl der Access-Datenbank, dass diese Datenhaltung in Access einen speziellen SQL-Dialekt benutzt. Manche Dinge gehen nur in Access oder dem Microsoft SQL-Server. Das ist für deine spätere Skalierung auf eine Leistungsfähigere Datenbank vielleicht entscheidend, denn sonst musst du am Ende vielleicht Abfragen umschreiben.

Viele Grüße Dennis
Folgende Benutzer bedankten sich: Meiky

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Dennis.

Datenbank: Einlesen von Dropdownfelder einer Datenbank 27 Nov 2024 12:24 #3

  • Meiky
  • Meikys Avatar Autor
  • Offline
  • Beiträge: 27
  • Dank erhalten: 8
Hallo Dennis,

vielen Dank für deine Hilfe.
Ich werde das testen und ein Feedback geben.

Gruß Meik

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datenbank: Einlesen von Dropdownfelder einer Datenbank 27 Nov 2024 16:45 #4

  • daywalker
  • daywalkers Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 947
  • Dank erhalten: 657
Hallo Meiky.

Hier ein paar Skriptzeilen zum befüllen der Dropdownliste aus Deinem Beispiel. testdata.mdb

cX4Web cX4Web Code

Was ist das?

1 Anzeige-Fenster 'Testscript', ID='HOME', Breite=200, Höhe=150
2 Datenbank Modus 'Öffnen/SQL ausführen', ID 'db1', Datenbank 'C:\Users\User\OneDrive\Dokumente\clickEXE\Fragen\testdata.mdb', Tabelle/SQL 'SELECT * FROM Mieter'
3 Dropdown-Liste, mit IDs (ID='ListeMieter', X='27,78', Y='9', Zielfenster='HOME')
4
5 Schleife ab hier mit Variable von 1 bis [cX.Datensatz(db1).Anzahl]
6 Datenbank Modus 'Öffnen/SQL ausführen', ID 'db1', Tabelle/SQL 'Select Vorname FROM Mieter', DS-Nummer
7 Setze in [erg]: '[cX.Datensatz(db1).Zeilendaten]' , Als neue Zeile anhängen'
8 Schleife bis hier
9 Setze in [.Liste(ListeMieter).Liste]: '[erg]'
10
11
12 Warte Endlos (Warten auf zu behandelnde Ereignisse)

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (12 Zeilen, cX 5.0.10.7, Lizenz: Pro, Datenbank)


Gruß Christian
Folgende Benutzer bedankten sich: Meiky

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datenbank: Einlesen von Dropdownfelder einer Datenbank 27 Nov 2024 18:23 #5

  • Meiky
  • Meikys Avatar Autor
  • Offline
  • Beiträge: 27
  • Dank erhalten: 8
Hallo Christian,

vielen, vielen Dank.
Ich probiere das morgen Mal aus🙂

Liebe Grüße 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Datenbank: Einlesen von Dropdownfelder einer Datenbank 28 Nov 2024 10:14 #6

  • daywalker
  • daywalkers Avatar
  • Offline
  • Platinum Boarder
  • Platinum Boarder
  • Beiträge: 947
  • Dank erhalten: 657
Hallo Meiky

Hier noch die SQL freie Variante um ein Dropdownfeld zu füllen.

cX4Web cX4Web Code

Was ist das?

1 *** Variabte ohne SQL Statement
2
3 Anzeige-Fenster 'Testscript', ID='HOME', Breite=200, Höhe=150
4 Dropdown-Liste, erst löschen (ID='Liste_1', X='5', Y='5', Zielfenster='HOME')
5 Datenbank Modus 'Öffnen/SQL ausführen', ID 'db1', Datenbank 'C:\Users\User\OneDrive\Dokumente\clickEXE\Fragen\testdata.mdb', Tabelle/SQL 'Mieter'
6 Schleife ab hier mit Variable von 1 bis [cX.Datensatz(db1).Anzahl]
7 *** Oder diese Variante, dann kann man Zeile 10 sowie 12 auskommentieren
(8 Datenbank Modus 'Öffnen/SQL ausführen', ID 'db1', Tabelle/SQL 'Mieter', DS-Nummer
9 *** Setzt den aktuellen Datensatz
10 Setze in [cX.Datensatz(db1).Nummer]: ''
11 *** Liest den aktuellen Datensatz aus
12 Datenbank Modus 'Datensatz einlesen/suchen', ID 'db1', Tabelle/SQL 'Mieter'
13 *** Und schreibt diesen als neue Zeile in die Variable..
14 Setze in [erg]: '[cX.Datensatz(db1).Feld(Vorname)]' , Als neue Zeile anhängen'
15 Schleife bis hier
16
17 Setze in [.Liste(Liste_1).Liste]: '[erg]'
18 Warte Endlos (Warten auf zu behandelnde Ereignisse)

cX4Web Code: Einfach anklicken zum Kopieren und in click.EXE 5.0 einfügen


  (18 Zeilen, cX 5.0.10.7, Lizenz: Betatester, Datenbank)


lg Christian
Folgende Benutzer bedankten sich: Meiky

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von daywalker.
  • Seite:
  • 1
  • 2

Community

Sie sind noch nicht Mitglied unserer Community? Melden Sie sich jetzt an!

Anmelden