Records zoeken in een database

Status
Niet open voor verdere reacties.

the_dannyboy

Gebruiker
Lid geworden
2 jan 2002
Berichten
968
Hallo allemaal !!

Ik ben een progje aan 't maken dat w8woorden kan opslaan, maar nu wil ik dus ook dat de gebruiker kan zoeken naar een bepaalde ingevoerde (dus bestaande in de database) gebruikersnaam of w8woord ofzo.
Hoe kan ik dus uit een database met verschillende velden een record zoeken?

TNX !!
 
Dat ligt er een beetje aan in wat voor een programma je de database gemaakt hebt.
In Oracle/sql zou je het als volgt kunnen proberen:

SELECT WACHTWOORD
FROM TABEL
WHERE WACHTWOORD = T.WACHTWOORD;

maak van TABEL de naam die jij aan de tabel gegeven hebt.
de T voor wachtwoord verander je in de eerste letter van je tabelnaam.

Hoop dat het werkt.
Succes
 
Heb even een DBgrid control gebruikt.

Ik geef je hier een voorbeeld met gebruikmaking v.e.
DBgrid control. Dit control verkrijg je door een
rechtsklik op de Toolbox te geven, klik op Components
en vervolgens "Microsoft Data Bound Grid Control 5.0(SP3)"
toe te passen.

1) Eenmaal het control op het Form (Form3) te hebben geplaatst,
koppel je dit aan Data1 door de eigenschap DataSource van dit
control op Data1 te zetten.
2) Rechtsklik op het DBgrid controle en klik op Edit.
3) Rechtsklik op het DBgrid controle en klik op Insert.
4) Rechtsklik op het DBgrid controle en klik op Insert.
5) Rechtsklik op het DBgrid controle en klik op Retrieve Fields.

Je ziet, dat het control nu 4 kolommen bevat met respectievelijk
de namen: Gebruikersnaam, Wchtwoord, Overige en Website.

In Form3 van je programma zit een knop (command1). Deze knop
bevat nog geen code die ervoor moet zorgen datgene te vinden
die je wilt zoeken. Hierbij de code:

Code:
Private Sub Command1_Click()
    Data1.Refresh
    Data1.Recordset.MoveFirst
    Data1.Recordset.Index = "IndexWebsite"
    Data1.Recordset.Seek ">=", Trim(Text1.Text)
    If Data1.Recordset.NoMatch Then
       MsgBox Text1.Text & "  niet gevonden!"
       Else
       MsgBox Text1.Text & "  gevonden!" 
    End If
End Sub

Wanneer er een gezochte website gevonden wordt, dan wordt
dit door het control (aan de linkerkant) d.m.v. een pijtje
aangegeven.

Succes.
 
De uitleg is superduidelijk, maar wanneer ik op zoeken type, krijg is de error: De bewerking is niet beschikbaar voor dit object.
En de verwijzing naar: Data1.Recordset.Index = "IndexWebsite"
 
Lees bovenstaande uitleg in zijn geheel goed a.u.b.

Hallo Danny,

Als je mijn bovenstaande code precies zoals er staat
overneemt dan moet het voor 100% gaan werken. Bij mij werkt het ook.

Nogmaals, gebruik een DBgrid control. Dit moet je op Form3 nog toevoegen als je dit nog niet gedaan hebt.

Suc6.
 
Laatst bewerkt:
Ik heb precies gedaan wat je zei, maar het werkt echt niet...

Hier heb je m'n progje met jou code, misschien heb ik iets over het hoofd gezien...
 

Bijlagen

Eigenschap RecordSet Type van Data1 op Table zetten.

Nadat ik de RecordSet Type van alle drie Data controls
(op Form2 t/m Form 4) op Table gezet heb werkt het programma. Ze stonden eerst op dynaset. Je gebruikt een index in je .mdb, dan moet je het op table zetten.

Suc6 verder.

P.S. De Connect property v.d. 3 Data controls heb ik gewoon
op Access gezet. Je maakt immers je *.mdb via Visdata.
Maar als je bij Connect 2000 invult en het werkt verder goed,
dan kun je dit gewoon laten staan natuurlijk.
 
Laatst bewerkt:
Jammer, morgen weer.

RecordSet Type vind je in het Eigenschap Venster door
eerst op het desbetreffende control (Data1 dus) te klikken.

Je hebt de keus tussen: Table, Dynaset en Snapshot. Je
selecteert dan Table.

Moet helaas even weg en wanneer ik weer terug ben ga ik slapen.
Jammer vind ik zelf, maar moet morgen heel vroeg op.

Ik hoor het wel en suc6 verder.

Groetjes.
 
Wat aanvulling.

Hallo Danny,

Graag "Data1.Recordset.Seek ">=", Trim(Text1.Text)" vervangen
met "Data1.Recordset.Seek "=", Trim(Text1.Text)"

Dus "het groter dan"-teken (>) weghalen. Dit heeft totaal niet
met je vorig probleem te maken. Ik had met dit teken (>) een
eigen BookMark willen maken. Maar vergeet dit BookMark maar.
Het was voor mijzelf bedoeld.

Zelf heb ik een heel omvanrijk DataBase programma gemaakt.Ik gebruik
dit teken om een fout in de bestaande functie van BookMark te
ondervangen.

Mvg.
 
Hij doet 't nou perfect !! :D

Dennis your the best !! :thumb:

Dit is al de 2e keer dat je me uit de penarie hebt geholpen !! :rolleyes:

Vraag opgelost !!
 
Blij om te horen dat het werkt.

Heb het heel graag gedaan. Je programma ziet er best goed uit hoor.

Groetjes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan