Formular per Makro öffnen, richtigen Datensatz bearbeiten

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von AhQ »

Hallo Miteinander,

ich will für eine intere Umfrage ein Formular bauen. Die optimale Lösung wäre, daß Base je nach Antwort nach einem vorher definiertem Schema zur nächsten Frage wandert. Da ich davon ausgehe, daß es das nicht tun wird, dachte ich mir, ich probier das ganze einfach über zwei Buttons, je nach vorheriger Antwort (quasi "Hast Du ja angegeben, drücke Button 1, ansonsten Button 2).

Per Makro das Formular öffnen ist nicht das Problem (wurde ja mittlerweile hier im Forum oft genug diskutiert), aber wie in aller Welt bring ich Base dazu, mir den richtigen Datensatz zum Bearbeiten zu geben und nicht im neuen Formular bei Datensatz 1 wieder anzufangen? Kann ich irgendwie das neue Formular dazu bringen, z.B. einen Select-Befehl auszuführen, bei dem in der WHERE-Klausel auf das ID-Feld des vorhergehenden Formulars verwiesen wird? Oder gibts da einen eleganteren Weg?

Ich wäre über jede Form der Anregung sehr dankbar, da ich nicht mehr weiter weiß.

Viele Grüße
AhQ
Otternase
*
Beiträge: 12
Registriert: Di, 31.07.2007 12:51

Re: Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von Otternase »

hi,
ich weiß nicht ob es zielführend ist, aber kannst du nicht eine globale Varible definieren, die die Zeilennummer deines nächsten Datensatzes enthält und die du mit dem Absenden des Buttons auf den nächsten Wert setzt?
im Handbuch steht doch, dass wenn man eine Variable noch vor der ersten SUb oder einer Function initialisiert, behält sie für das gesamte Modul Gültigkeit:
Sozusagen:
DIm Counter as Integer
SUB deinmakrodasdugeschriebenhast

counter =1 (oder auch drei oder vier oder was weiß ich)
End sub

und dann rufst du ja irgendw einen Select auf, der dir die nächste Frage bereitstellt, oder?
dort dann: ssql= ("select irgendwas from irgendwem WHERE ID = '" + Counter + "')

Wäre das nicht vielleicht möglich...
nur so zum Vorschlag
Gruß

Otternase
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von AhQ »

Hallo Otternase,

danke, daß Du Dir Gedanken zu meinem Problem machst. Ich bin mir aber nicht sicher, ob es mit einem Counter geht, da es theoretisch sein kann, daß mehrere gleichzeitig in dem Formular sind und dann fürchte ich, daß mit einem Counter es nicht eindeutig ist, zu welchem Datensatz die Eingabe gehört. Oder hab ich da jetzt einen Denkfehler?

Viele Grüße
AhQ
Otternase
*
Beiträge: 12
Registriert: Di, 31.07.2007 12:51

Re: Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von Otternase »

Hallo,

wenn mehrere menschen gleichzeitig an dem Formular arbeiten können sollen/müssen, dann fällt mir nur ein, den User mit Hilfe von getConnection (User) zu identifizieren. Wäre das möglich? Dann den User mit einer ID und der von ihm zuletzt beantworteten Fragennummer (getrow()) in einer eigenen Tabelle abspeichern. Aber das ist natürlich nicht schön, v.a. wenn du ein offenes Firmennetzwerk hast, in dem Passwortabfragen nicht üblich sind.
das ist das einzige was mir jetzt dazu einfällt...

wenn mir noch eine Idee kommt mailde ich mich...

grüße

Otternase
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von komma4 »

AhQ hat geschrieben:Da ich davon ausgehe, daß es das nicht tun wird,
Warum nicht?

Zeige Deine Frage an und erwarte die Antwort.
Deine Schaltflächen heisen: Weiter, letzte Frage, Abbrechen und Beenden.

Deine Tabellen
tabFrage: id, folgeID, vorherID, frage
tabBenutzer: id, name, timeBeginn
tabAntwort: idBenutzer, idFrage, antwort

Den Benutzernamen erhälst Du aus den Registry-Informationen.
Beim Öffnen des Formulars: lese Frage, wenn Antwort vorhanden, lese Folgefrage.
Führe einen Zähler der offenen/beantworteten Fragen im Formular mit oder ermittle bei einem Frage-Wechsel (SELECT COUNT(*) FROM tabAntwort WHERE idBenutzer = aktBenutzer).

Wenn alles beantwortet, bedanke Dich für die Teilnahme und schliesse.
Sonst kann der Benutzer blättern, vorhandene Antworten werden angezeigt.

Jede Eingabe wird beim Wechsel gespeichert....


Du verwendest eine richtige DBMS, wenn mehrere arbeiten sollen??
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Formular per Makro öffnen, richtigen Datensatz bearbeiten

Beitrag von AhQ »

Hallo,
komma4 hat geschrieben:Du verwendest eine richtige DBMS, wenn mehrere arbeiten sollen??
Ja, bei uns läuft MySQL, daß paßt. Den Rest muß mich mir jetzt mal in Ruhe durchdenken.

Danke schon mal Euch beiden!

AhQ
Antworten