Hallo
gibt es irgendwo ein Beispielcode, wie man eine kaskadierte Abfrage erstellt.
Beispiel.
Felder: Stadt; Sportart; Verein
Der Anwender soll die Möglichkeit haben, entweder über Stadt oder Sportart auszuwählen.
Wählt er Stadt an, sollen nur noch die Sportarten ausgewählt werden können, die in dieser Stadt möglich sind. Danach soll er aus dieser Liste auswählen können, die Vereine, die in dieser Stadt, diese Sportart anbieten.
Das Ganze über Sportart entsprechend:
Sportart/Städte/Vereine.
Dankeschön
kaskadierte Datenbankabfrage (Access)
Schaue dir mal die MDB-Lib von Paul Leischow an. Die Lib findest du auf PureArea.net im Bereich User-Libs. Enthalten ist auch ein Beispielcode. Da die ganz normale SQL-Syntax benutzt wird ist auch eine kaskadierende Abfrage kein Problem.
__________________________________________
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
Weniger glauben - mehr wissen!
------------------------------------------------------
Proud beneficial owner of SpiderBasic, PureBasic 3.x, 4.x, 5.x and PureVisionXP
So, die Datenbankanbindung hat funktioniert.
Kann auch eine Selectanweisung durchführen. Wie kann ich mir den Inhalt der Anfrage anzeigen lassen (kein debugger) und diese neue Liste als weiteres Auswahlkriterium für eine weitere Abfrage nutzen.
Beispiel:
1. Selectbefehl auf Feld Stadt.
Diese Liste möchte ich nutzen, damit der Anwender eine Stadt auswählen kann. Wie kann ich diese Information verfügbar machen in einem Listfeld
Als nächstes soll eine Selectanweisung des Feldes Sportart durchgeführt werden mit der ausgewählten Stadt.
Jetzt sollen alle Sportarten angezeigt werden, die in dieser Stadt verfügbar sind.
Der Anwender soll seine Sportart auswählen.
Mit diesen beiden Kriterien Stadt/Sportart sollen jetzt alle Vereine gefiltert werden, die diese Sportart in der entsprechenden Stadt anbieten.
Danke
PS: Gibt es eigentlich Literatur (englisch, deutsch) zur PureBasic.
Das Handbuch ist ehe ein Nachschlagewerk und nicht didaktisch nicht so sinnvoll zum erlernen einer Sprache.
Kann auch eine Selectanweisung durchführen. Wie kann ich mir den Inhalt der Anfrage anzeigen lassen (kein debugger) und diese neue Liste als weiteres Auswahlkriterium für eine weitere Abfrage nutzen.
Beispiel:
1. Selectbefehl auf Feld Stadt.
Diese Liste möchte ich nutzen, damit der Anwender eine Stadt auswählen kann. Wie kann ich diese Information verfügbar machen in einem Listfeld
Als nächstes soll eine Selectanweisung des Feldes Sportart durchgeführt werden mit der ausgewählten Stadt.
Jetzt sollen alle Sportarten angezeigt werden, die in dieser Stadt verfügbar sind.
Der Anwender soll seine Sportart auswählen.
Mit diesen beiden Kriterien Stadt/Sportart sollen jetzt alle Vereine gefiltert werden, die diese Sportart in der entsprechenden Stadt anbieten.
Danke
PS: Gibt es eigentlich Literatur (englisch, deutsch) zur PureBasic.
Das Handbuch ist ehe ein Nachschlagewerk und nicht didaktisch nicht so sinnvoll zum erlernen einer Sprache.
sowas?
Du brauchst für obiges demo ne Datenbank mit dem ODBC-Namen StadtSportVereinDB mit einer Tabelle StadtSportVereinTabelle drin
mit folgendem Aufbau
Code: Alles auswählen
; PureBasic Visual Designer v3.92 build 1460
;- Constants
;
Enumeration
#Window_0
#Text_0
#Combo_0
#Text_1
#Combo_1
#Combo_2
#Text_2
#Listview_0
#Database
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 216, 0, 591, 293, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Calmund's Freund")
If CreateGadgetList(WindowID())
TextGadget(#Text_0, 5, 5, 160, 20, "ZEIGE MIR ALLE VEREINE AUS")
ComboBoxGadget(#Combo_0, 170, 0, 110, 230)
TextGadget(#Text_1, 285, 5, 25, 15, "DIE")
ComboBoxGadget(#Combo_1, 320, 0, 120, 530)
TextGadget(#Text_2, 445, 5, 60, 20, "ANBIETEN")
ListViewGadget(#Listview_0, 5, 30, 580, 255)
EndIf
EndIf
EndProcedure
Open_Window_0()
InitDatabase()
If OpenDatabase(#Database,"StadtSportVereinDB",User.s,PW.s)
If DatabaseQuery("select distinct stadt from StadtSportVereinTabelle")
While NextDatabaseRow()
AddGadgetItem(#Combo_0,0,GetDatabaseString(0))
Wend
EndIf
CloseDatabase(#Database)
EndIf
;SetGadgetState(#Combo_0,0)
Repeat ; Start of the event loop
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindowID() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID() ; Is it a gadget event?
EventType = EventType() ; The event type
If Event = #PB_EventGadget
If GadgetID = #Combo_0
selStadt.s=GetGadgetItemText(#Combo_0,GetGadgetState(#combo_0),0 )
ClearGadgetItemList(#combo_1)
If OpenDatabase(#Database,"StadtSportVereinDB",User.s,PW.s)
If DatabaseQuery("select Sportart from StadtSportVereinTabelle where Stadt='"+selStadt+"'")
Debug "select Sportart from StadtSportVereinTabelle where Stadt='"+selStadt+"'"
While NextDatabaseRow()
AddGadgetItem(#Combo_1,0,GetDatabaseString(0))
Wend
EndIf
CloseDatabase(#Database)
EndIf
;SetGadgetState(#Combo_1,0)
ElseIf GadgetID = #Combo_1
ClearGadgetItemList(#Listview_0)
selStadt.s=GetGadgetItemText(#Combo_0,GetGadgetState(#combo_0),0 )
selSportart.s=GetGadgetItemText(#Combo_1,GetGadgetState(#combo_1),0 )
If OpenDatabase(#Database,"StadtSportVereinDB",User.s,PW.s)
If DatabaseQuery("select Verein from StadtSportVereinTabelle where Stadt='"+selStadt+"' and Sportart='"+selSportArt+"'")
Debug "select Verein from StadtSportVereinTabelle where Stadt='"+selStadt+"' and Sportart='"+selSportArt+"'"
While NextDatabaseRow()
AddGadgetItem(#Listview_0,0,GetDatabaseString(0))
Wend
EndIf
CloseDatabase(#Database)
EndIf
ElseIf GadgetID = #Listview_0
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
mit folgendem Aufbau
in Access kannst Du Dir das flott zusammenklicken.CREATE TABLE StadtSportVereinTabelle(
ID COUNTER NOT NULL,
Stadt VARCHAR(50),
Sportart VARCHAR(50),
Verein VARCHAR(50)
)
GO
CREATE UNIQUE INDEX PrimaryKey ON StadtSportVereinTabelle(ID)
GO
CREATE INDEX ID ON StadtSportVereinTabelle(ID)
GO
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.