30. december 2001 - 19:38Der er
8 kommentarer og 2 løsninger
SQL i VB
Hej Eksperter. Hvordan får man resultatet af en sql forespørgsel til at stå i enten en Textbox eller Label-felt ?. Hvis jeg f.eks. vil finde alle der bor i postnr. 8000 og få skrevet antalet af poster i min Label/Text-felt. Og hvordan udføres commandoen automatisk, når jeg starter mit prg. op ? Er meget ny mht. emnet, så det ville være perfekt, hvis en gad skrive det en smule udførligt. Takker mange gange.
Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"g:\\musik97.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT * FROM MUSIK WHERE Kunstner = \'TV2\' ORDER BY Kunstner\", dbOpenDynaset) Do While Not dbPBrec.EOF \' List1.AddItem dbPBrec!Id Label2.Caption = dbPBrec!Id Loop Men der fremkommer ingen resultat, blot at det er ligesom prg. kører i ring. Skal afbrydes med Break. Kan du hjælpe ?
Nej den skal selc stoppe når der ikke er flere records. Prøv med : Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"g:\\musik97.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT * FROM MUSIK WHERE Kunstner = \'TV2\' ORDER BY Kunstner\", dbOpenDynaset) Do While Not dbPBrec.EOF \' List1.AddItem dbPBrec!Id Label2.Caption = Label2.Caption & vbCrLf & dbPBrec!Kunstner Loop
Det kan bedst betale sig at beregne totalen i Access... MEN Hvis du absolut vil gennemløbe posterne i et recordset, så skal du huske at skifte til neste post !!!
Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"C:\\Kunder.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT Count(*) As Antal FROM tabelNavn WHERE Postnr=8000\", dbOpenDynaset) Label2.Caption = dbPBrec!Antal
eller...
Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"g:\\musik97.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT * FROM MUSIK WHERE Kunstner = \'TV2\' ORDER BY Kunstner\", dbOpenDynaset) Do While Not dbPBrec.EOF \' List1.AddItem dbPBrec!Id Label2.Caption = dbPBrec!Id dbPBrec.MoveNext \' DET ER DENNE LINIE, SOM SKIFTER POST Loop
Prøv med : Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"g:\\musik97.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT * FROM MUSIK WHERE Kunstner = \'TV2\' ORDER BY Kunstner\", dbOpenDynaset) Do While Not dbPBrec.EOF \' List1.AddItem dbPBrec!Id Label2.Caption = Label2.Caption & vbCrLf & dbPBrec!Kunstner dbPBrec.MoveNext Loop
Hejsa, takker mange gange for hjælpen, men vil lige spørge, om jeg kan få totalen af antalet af fudne poster. Altså at den skriver i Label2 hvor mange poster der er fundet. Det er kanon at I har hjulpet. Mon ikke at hy, skal svare også, så point\'ene skal fordeles :-)
Set dbws = DBEngine.Workspaces(0) Set dbsag = OpenDatabase(\"C:\\Kunder.mdb\") Set dbPBrec = dbsag.OpenRecordset(\"SELECT Count(Kunstner) As Antal FROM MUSIK WHERE Kunstner = \'TV2\'\", dbOpenDynaset) Label3.Caption = dbPBrec!Antal
Kanon... Det hele virker :-) I er sgu\' nogle dygtige drenge... Hvis jeg lige må stille et enkelt til: Når jeg nu har udført en søgning på \"find alle tv2\" poster, og trykker commandknap, kan jeg så få den samme commandoknap til at blive til \"vis Alle\", så når jeg igen trykker denne knap vises alle poster igen. Eller som alternativ en anden commandoknap, som bruges til Vis alle poster\" Er bare så glad for jeres svar.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.