Så prøver jeg lige en gang til, søgning i database

Tags:    visual-basic

User
Bruger #912 @ 18.07.02 13:11
Jeg har før forsøgt at få løst mit problem herinde, men uden held. Desuden har jeg ikke været aktiv i et stykke tid, da jeg er ude at rejse for tiden.

Mit problem er at jeg ikke ved hvordan jeg bedst søger i en database som er vist med MSHflexgrid.
Jeg bruger den application wizard som er i VB 6.0.

Jeg vælger et multi document interface og vælger at inkludere en dataform. Så vælger jeg ACCESS og MSHFlexgrid til at vise mine data. Som binding vælger jer ADO Data Control. Så har jeg som eksempel valgt Employees som recordsouce og Addres, Birthday, City og Country(som er en standard database som ligger i VB6.0). Så vælger jeg allow user sorting(det er nok irrelevant her).

Så laver jeg en knap på min form og et tekstfelt, så jeg skal kunne søge f.eks på en ”City” eller ”Adress” eller lidt af begge(med flere textfelter selvfølgelig), når man altså trykker på knappen. Det den skal søge efter har man så skrevet i textfeltet(text1.text). det lyder jo meget simpelt, og det er det sikkert også, men ikke for mig. Jeg har prøvet at bruge nedenstående kode, men der var allerede fejl i første linje. Sikkert fordi koden ikke er skrevet til lige netop denne sammensætning.

Når jeg vælger properties for datakontrollen, som hedder DatprimaryRS adodc, så kan jeg se at den bruger connection string ” PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=D:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB;” er det rigtig????

Her er den kode som jeg har prøvet:

Private Sub Command1_Click()

Dim DBrecset As Adodb.Recordset
Set DBrecset = New Adodb.Recordset

DBrecset.open "select * from employees", DBcon, adOpenStatic, adlockreadonly
DBrecset.Filter "city = Tacoma"

DBrecset.Filter = adfilternone
Set DBrecset = Nothing

End Sub


Jeg har tænkt mig at min egen database skal være Microsoft Acces 7.0 mdb, og jeg VIL helst bruge den datakontrol som jeg har nævnt, samt de andre instillinger som er nævnt, for så slipper jeg for at ændre på noget. min database virker nemlig godt, og jeg kan godt scrolle frem o tilbage i den, men jeg ved bare ikke hvordan jeg søger i den!!!! OK???

Og dertil skal lige siges at jeg ikke ved noget som helst om SQL og alt det der, så det jeg håber på at få, er et komplet stykke kode som virker, og så kan jeg nok derfra finde ud af at ændre det til mine settings. Det bedste ville nok være hvis den som hjælper mig, kunne prøve at køre Application-Wizarden med de samme valg som jeg har foretaget(se øverst) og så skrive et stykke kode til lige præcis det program med samme database og datacontrol som jeg har valgt.

Jeg håber at der en som kan skære det ud i pap for mig, eller som kan skrive et stykke kode som rent faktisk VIRKER i mit program. Og nej – jeg kan ikke tænke selv. Det skal skrives pinlig nøjagtig, så jeg bare kan kopiere det og sætte det direkte ind, for jeg fatter ikke ret meget af alt det med datakontroller og bindings og strings osv. Og jo – jeg har prøvet både at låne og købe bøger men enten er bøgerne for simple eller alt for komplicerede(ref: Jakop Kristensens Visual Basic 6.0 og Microsoft Visual Basic 6.0 programmers guide.) og situationen bliver heller ikke bedre af, at jeg i de næste 5 mdr. Bor i Afganistan. Så jeg håber at der er en som kan hjælpe mig.

Jeg ville værdsætte enhver hjælp, og jeg beklager at jeg ikke kan give flere UP, men jeg har snart ikke flere!

Jeg ville også blive meget glad for at blive kontaktet på min hotmail.

På forhånd tak, Claes Nicolajsen
Claes26@hotmail.com





1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Jeg har før forsøgt at få løst mit problem herinde, men uden held. Desuden har jeg ikke været aktiv i et stykke tid, da jeg er ude at rejse for tiden.

Mit problem er at jeg ikke ved hvordan jeg bedst søger i en database som er vist med MSHflexgrid.
Jeg bruger den application wizard som er i VB 6.0.

Jeg vælger et multi document interface og vælger at inkludere en dataform. Så vælger jeg ACCESS og MSHFlexgrid til at vise mine data. Som binding vælger jer ADO Data Control. Så har jeg som eksempel valgt Employees som recordsouce og Addres, Birthday, City og Country(som er en standard database som ligger i VB6.0). Så vælger jeg allow user sorting(det er nok irrelevant her).

Så laver jeg en knap på min form og et tekstfelt, så jeg skal kunne søge f.eks på en ”City” eller ”Adress” eller lidt af begge(med flere textfelter selvfølgelig), når man altså trykker på knappen. Det den skal søge efter har man så skrevet i textfeltet(text1.text). det lyder jo meget simpelt, og det er det sikkert også, men ikke for mig. Jeg har prøvet at bruge nedenstående kode, men der var allerede fejl i første linje. Sikkert fordi koden ikke er skrevet til lige netop denne sammensætning.

Når jeg vælger properties for datakontrollen, som hedder DatprimaryRS adodc, så kan jeg se at den bruger connection string ” PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=D:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB;” er det rigtig????

Her er den kode som jeg har prøvet:

Private Sub Command1_Click()

Dim DBrecset As Adodb.Recordset
Set DBrecset = New Adodb.Recordset

DBrecset.open "select * from employees", DBcon, adOpenStatic, adlockreadonly
DBrecset.Filter "city = Tacoma"

DBrecset.Filter = adfilternone
Set DBrecset = Nothing

End Sub


Jeg har tænkt mig at min egen database skal være Microsoft Acces 7.0 mdb, og jeg VIL helst bruge den datakontrol som jeg har nævnt, samt de andre instillinger som er nævnt, for så slipper jeg for at ændre på noget. min database virker nemlig godt, og jeg kan godt scrolle frem o tilbage i den, men jeg ved bare ikke hvordan jeg søger i den!!!! OK???

Og dertil skal lige siges at jeg ikke ved noget som helst om SQL og alt det der, så det jeg håber på at få, er et komplet stykke kode som virker, og så kan jeg nok derfra finde ud af at ændre det til mine settings. Det bedste ville nok være hvis den som hjælper mig, kunne prøve at køre Application-Wizarden med de samme valg som jeg har foretaget(se øverst) og så skrive et stykke kode til lige præcis det program med samme database og datacontrol som jeg har valgt.

Jeg håber at der en som kan skære det ud i pap for mig, eller som kan skrive et stykke kode som rent faktisk VIRKER i mit program. Og nej – jeg kan ikke tænke selv. Det skal skrives pinlig nøjagtig, så jeg bare kan kopiere det og sætte det direkte ind, for jeg fatter ikke ret meget af alt det med datakontroller og bindings og strings osv. Og jo – jeg har prøvet både at låne og købe bøger men enten er bøgerne for simple eller alt for komplicerede(ref: Jakop Kristensens Visual Basic 6.0 og Microsoft Visual Basic 6.0 programmers guide.) og situationen bliver heller ikke bedre af, at jeg i de næste 5 mdr. Bor i Afganistan. Så jeg håber at der er en som kan hjælpe mig.

Jeg ville værdsætte enhver hjælp, og jeg beklager at jeg ikke kan give flere UP, men jeg har snart ikke flere!

Jeg ville også blive meget glad for at blive kontaktet på min hotmail.

På forhånd tak, Claes Nicolajsen
Claes26@hotmail.com


JT




Private Sub Command1_Click()

Dim DBrecset As Adodb.Recordset
Set DBrecset = New Adodb.Recordset

DBrecset.open "select * from employees", DBcon, adOpenStatic, adlockreadonly
DBrecset.Filter "city = Tacoma"
' her burde der havde foregået noget fordi i næste linie bliver filter kommandoen nullstillet.
DBrecset.Filter = adfilternone
Set DBrecset = Nothing

Microsoft.Jet.OLEDB.3.51 der findes en version 4.0

Men hvis jeg skal Hjælpe dig er det bedst hvis du mailer din form til mig .
jamosoft@hotmail.com


End Sub





t