Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Visual Basic: Søg database

Af Monsterbruger DecisioN | 29-06-2005 14:47 | 1357 visninger | 6 svar, hop til seneste
Mangler hjælp til at lave en søgefunktion så man kan søge efter forskellige ting i en access database. Jeg har lavet en film database som jeg så skal kunne søge i. Lige nu har jeg en liste hvor alle filmene står. Men vil gerne kunne søge på forskellige ting. Jeg har 5 ting man skal kunne søge på. Titel, genre, årstal, tid og medvirkende. Og så når man har søgt på fx. Seann William Scott skal den vise alle de film i listen som han er med i. Spørg hvis der er noget i ikke lige forstår af min forklaring. :)
--
#1
DecisioN
Monsterbruger
30-06-2005 08:50

Rapporter til Admin
slet ingen der lige ved hvad jeg skal gøre?
--
http://service.futuremark.com[...] MSN: [email protected]
#2
jespert
Ultrabruger
30-06-2005 22:38

Rapporter til Admin
Tror du skal præcisere det hele lidt. Det er svært at se hvor langt du er kommet med dit program og hvordan det er bygget op...
--
The great thing about a computer notebook is that no matter how much you stuff into it, it doesn't get bigger or heavier.
#3
DecisioN
Monsterbruger
01-07-2005 09:08

Rapporter til Admin
har indtil videre fundet ud af hvordan man søger på en ting af gangen, men skulle gerne kunne søge på mere.. f.eks skal man kunne søge på en film hvor Seann Willian Scott er med i, det skal være en Komedie og den skal være fra 2004. Den kode jeg har fundet frem til indtil videre: 'Opretter workspace Set ws = Workspaces(0) 'Opretter database connection - DB ligger i programmappen Set db = ws.OpenDatabase(App.Path & "film97.mdb") 'Her tages der højde for hvad der søges på If Not txtTitel.Text = "" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE titel LIKE '*" & txtTitel.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If If Not txtGenre.Text = "" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE genre LIKE '*" & txtGenre.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If If Not txtAarstal.Text = "" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE aarstal LIKE '*" & txtAarstal.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If If Not txtTid.Text = "" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE tid LIKE '*" & txtTid.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If If Not txtMedvirkende.Text = "" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE medvirkende LIKE '*" & txtMedvirkende.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If
--
http://service.futuremark.com[...] MSN: [email protected]
#4
Ronson
Giga Nørd
01-07-2005 09:13

Rapporter til Admin
Kan du ikke bare udvide SQL-sætningerne?
--
http://www.butiksguiden.net[...] < Download vores sjove videoer. NU! http://www.chipsguiden.dk[...] < For os der elsker chips! http://www.chipsguiden.dk[...] < HOL Bladet!
#5
Syfax
Semi Supporter
01-07-2005 09:13

Rapporter til Admin
Jeg kan ikke lige kode vb, men det lyder til det bare er sql forespørgsler du mangler. Hvis du skal søge på flere ting skal du bruge AND. F.eks. Set rs = db.OpenRecordset("SELECT * FROM film WHERE titel LIKE '*" & txtTitel.Text & "*'" AND genre LIKE '*" & txtGenre.Text & "*'") Noget i den stil. Håber det hjælper og det var noget ala det du mangler.
--
#6
DecisioN
Monsterbruger
01-07-2005 10:44

Rapporter til Admin
jeg takker. Lavede bare en kæmpe lang sql streng. Så koden blev en del kortere og virker nu som den skal :D 'Opretter workspace Set ws = Workspaces(0) 'Opretter database connection - DB ligger i programmappen Set db = ws.OpenDatabase(App.Path & "film97.mdb") 'Her tages der højde for hvad der søges på If cmdSoeg.Caption = "Søg" Then Set rs = db.OpenRecordset("SELECT * FROM film WHERE titel LIKE '*" & txtTitel.Text & "*' AND genre LIKE '*" & txtGenre.Text & "*' AND aarstal LIKE '*" & txtAarstal.Text & "*' AND tid LIKE '*" & txtTid.Text & "*' AND medvirkende LIKE '*" & txtMedvirkende.Text & "*'") Main.lstFilm.Clear If Not rs.EOF Then rs.MoveFirst Do While Not rs.EOF Main.lstFilm.AddItem rs!titel Main.lstFilm.ItemData(Main.lstFilm.NewIndex) = rs!ID rs.MoveNext Loop End If End If
--
http://service.futuremark.com[...] MSN: [email protected]

Opret svar til indlægget: Visual Basic: Søg database

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning