Søgning igen igen igen

Tags:    visual-basic

User
Bruger #452 @ 26.07.03 13:00
Hey...

Jeg har siddet og kigget lidt rundt blandt de andre forum indlæg, for at se om jeg kunne finde noget hjælp til hvordan jeg laver en søgemekanisme.

Det er sådan så jeg har en MS access db (uheldigvis) hvori jeg har en tabel kaldet tblbeskeder. I denne tabel har jeg forskellige kolonner, deriblandt en som hedder modtager.
Nu er det så at jeg godt kunne tænke mig at kunne indtaste et navn i et tekst felt for derefter at smide den værdi efter databasen (sandsynligvis via SQL) for derefter at få resultaterne smidt tilbage i hovedet og udskrevet i enten en listview eller noget lignende.

Så er problemet, bare lige hvordan klarer man lige den ? Jeg har jo som sagt kigget lidt rundt blandt de andre indlæg, og har ikke forstået meget af det.

På forhånd tak... :o)



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hey...

Jeg har siddet og kigget lidt rundt blandt de andre forum indlæg, for at se om jeg kunne finde noget hjælp til hvordan jeg laver en søgemekanisme.

Det er sådan så jeg har en MS access db (uheldigvis) hvori jeg har en tabel kaldet tblbeskeder. I denne tabel har jeg forskellige kolonner, deriblandt en som hedder modtager.
Nu er det så at jeg godt kunne tænke mig at kunne indtaste et navn i et tekst felt for derefter at smide den værdi efter databasen (sandsynligvis via SQL) for derefter at få resultaterne smidt tilbage i hovedet og udskrevet i enten en listview eller noget lignende.

Så er problemet, bare lige hvordan klarer man lige den ? Jeg har jo som sagt kigget lidt rundt blandt de andre indlæg, og har ikke forstået meget af det.

På forhånd tak... :o)



Denne kode bygger og destruerer en query i runtime, og laegger svaret i en listbox. Soegenstrenge indtasten i txtSearch. Svarene laegges i LstBeskeder
Det antages i eksemplet at koden ligger i en OnClick event paa formen

sub btnSearch_click()

dim dbs as database
dim qdf as querydef
dim strsql as string

set dbs= currentdb

strsql = "SELECT besked, modtager FROM tblbeskeder WHERE modtager like '" & me.txtSearch & "';"

set qdf = dbs.createquerydef("temp",strsql)

me.lstbeskeder.rowsourcetype = "Table/Query"
me.lstbeskeder.rowsource = "SELECT beskeder, modtager FROM " & qdf.Name

dbs.querydefs.delete qdf.name

end sub



User
Bruger #452 @ 02.08.03 16:11
Hey...

Jeg har siddet og kigget lidt rundt blandt de andre forum indlæg, for at se om jeg kunne finde noget hjælp til hvordan jeg laver en søgemekanisme.

Det er sådan så jeg har en MS access db (uheldigvis) hvori jeg har en tabel kaldet tblbeskeder. I denne tabel har jeg forskellige kolonner, deriblandt en som hedder modtager.
Nu er det så at jeg godt kunne tænke mig at kunne indtaste et navn i et tekst felt for derefter at smide den værdi efter databasen (sandsynligvis via SQL) for derefter at få resultaterne smidt tilbage i hovedet og udskrevet i enten en listview eller noget lignende.

Så er problemet, bare lige hvordan klarer man lige den ? Jeg har jo som sagt kigget lidt rundt blandt de andre indlæg, og har ikke forstået meget af det.

På forhånd tak... :o)


Denne kode bygger og destruerer en query i runtime, og laegger svaret i en listbox. Soegenstrenge indtasten i txtSearch. Svarene laegges i LstBeskeder
Det antages i eksemplet at koden ligger i en OnClick event paa formen

sub btnSearch_click()

dim dbs as database
dim qdf as querydef
dim strsql as string

set dbs= currentdb

strsql = "SELECT besked, modtager FROM tblbeskeder WHERE modtager like '" & me.txtSearch & "';"

set qdf = dbs.createquerydef("temp",strsql)

me.lstbeskeder.rowsourcetype = "Table/Query"
me.lstbeskeder.rowsource = "SELECT beskeder, modtager FROM " & qdf.Name

dbs.querydefs.delete qdf.name

end sub


Ok, det virker næsten, min kode ser så sådan her ud

***********

objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & "\\db2.mdb"

Dim dbs As Database
Dim qdf As QueryDef
Dim strsql As String

Set dbs = currentdb

strsql = "SELECT modtager FROM tblbeskeder WHERE modtager like '" & frmmain.txtini & "';"

Set qdf = dbs.CreateQueryDef("temp", strsql)

Me.List1.rowsourcetype = "Table/Query"
Me.List1.RowSource = "SELECT, modtager FROM " & qdf.Name ""

dbs.QueryDefs.Delete qdf.Name

objConn.Close
**********

Der opstår dog nogle problemer, når jeg prøver at afvikle koden.

Me.List1.rowsourcetype = "Table/Query"

Denne linje giver en Compile Error, hvis jeg prøver at fjerne linjen, så fortsætter programmet naturligvis med afviklingen af programmet, men så er det

Me.List1.RowSource = "SELECT, modtager FROM " & qdf.Name

Som giver problemer, det giver en mismatch. ved & tegnet.




Hey...


Me.List1.RowSource = "SELECT, modtager FROM " & qdf.Name

Som giver problemer, det giver en mismatch. ved & tegnet.



ok siden queryen er midlertidigt navngivet som "temp", proev med:

Me.List1.RowSource = "SELECT [modtager] FROM temp"



t