BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Quiz mit wechselnden Farben

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Theophilus61
Beiträge: 14
Registriert: Do 18. Aug 2022, 18:28

Quiz mit wechselnden Farben

Beitrag von Theophilus61 » Do 23. Mär 2023, 14:14

Moin, mein Basic ist leider ein bisschen eingerostet ...
Ich möchte ein Quiz erstellen. Auf der Startseite sind 20 verschiedene Felder (A1-D4), die jeweils ein Formular aufrufen, welches die dazugehörige Frage anzeigt.
Bei der Rückkehr zur Startseite sollen die bereits angeklickten Felder grau erscheinen.
Dazu habe ich eine Tabelle "tbl_Status" angelegt , die die Felder "ID", "Name" und "Status" enthält.
Das Befüllen der Tabelle klappt bereits.
Die Idee: Beim Öffnen der Startseite wird die Tabelle abgefragt und das jeweilige Feld mit Status = 1 auf grau gesetzt.
Dazu brauche ich eine Variable, die den jeweiligen Feldnamen erhält.
Aber wie komme ich dahin? Ich kann ja mit Select die Sätze aufrufen, die Status=1 haben, aber dann?
Danke schon mal für eure Hilfe.

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Quiz mit wechselnden Farben

Beitrag von RobertG » Do 23. Mär 2023, 16:00

Kann es sein, dass Deine Frage nichts mit Base zu tun hat? Bei Base kannst Du nicht in einer Tabelle einzelne Felder färben. Das geht höchstens in einem Formular. Und auch die Bezeichnung (A1-D4) lässt mich stutzen. Soll das vielleicht Calc mit Makros sein?
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Theophilus61
Beiträge: 14
Registriert: Do 18. Aug 2022, 18:28

Re: Quiz mit wechselnden Farben

Beitrag von Theophilus61 » Do 23. Mär 2023, 16:22

Hallo, ja es geht um Base.
Ich will keine Tabelle färben, sondern Schaltflächen in einem Formular.
Die Tabelle dient nur als Datenspeicher.

Theophilus61
Beiträge: 14
Registriert: Do 18. Aug 2022, 18:28

Re: Quiz mit wechselnden Farben

Beitrag von Theophilus61 » Do 23. Mär 2023, 21:19

Ich habs raus:

Code: Alles auswählen

Sub Status_lesen
DIM sSQL AS STRING
DIM oResult AS OBJECT
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")'Datenbankkontext erzeugen
oDatenquelle = DatabaseContext.getByName("Konfiquiz")' Datenquelle wählen
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
oVerbindung = oDatenquelle.ConnectWithCompletion(InteractionHandler)' SQL-Kommunikationskanal aufbauen
SQL_Anweisung = oVerbindung.createStatement()
sSQL = "SELECT ""Name"" FROM ""tbl_Status"" where Status = 1;"
oResult = SQL_Anweisung.executeQuery(sSQL)
WHILE oResult.next
strName = oResult.columns.getbyName("Name").getString
MsgBox strName
wend
end sub

Theophilus61
Beiträge: 14
Registriert: Do 18. Aug 2022, 18:28

Re: Quiz mit wechselnden Farben

Beitrag von Theophilus61 » Do 23. Mär 2023, 23:13

Zu früh gefreut ...
Ich bekomme zwar jetzt die gewünschten Daten aus meiner Tabelle ausgelesen, aber das Umfärben klappt dennoch nicht - anscheinend liegt es daran, das ThisComponent auf das falsche Formular referenziert.
Vorgehensweise: Das Hauptformular (frm_Main) enthält 20 Schaltflächen, die jeweils ein Formular öffnen, welches eine Quizfrage enthält.
Das Quizfragenformular hat einen Exit-Button. Das durch diesen gestartete Makro schließt das Fragenformular, öffnet frm_Main und startet die Abfrage, welche eigentlich die bereits benutzen Schaltflächen grau färben soll.
Problem aber: oForm.getByName(strName) läuft ins Leere, weil ThisComponent nicht das aktuell geöffnete frm_Main referenziert, sondern das bereits geschlossene Quizfragenformular.
Gibt's da eine Trick?

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten