Filmdatabase

Status
Niet open voor verdere reacties.

Kerkrade

Gebruiker
Lid geworden
14 aug 2011
Berichten
163
Hallo,

Ik ben bezig met een filmdatabase met zoekfunctie. De database is gemaakt in Access 2003 en ik heb visual studio 2010 en programmeer met VB 2010. Nu kan ik nergens op internet (liefst Nederlands) een tutorial vinden hoe ik een zoekfunctie/knop maak om in mijn db te zoeken. Het liefst zou ik de gevonden resultaten willen displayen in een listview (of adviseren jullie wat anders). Wie heeft een site of tutorial voor mij om mijn probleem op te lossen?

Alvast Bedankt
 
Ik zou een datagridview gebruiken, aangezien die is aangepast op het gebruik met databases. Verder is het volgens mij een kwestie van de query aanpassen. Als je niet weet hoe dat moet, kan je even hier kijken: http://www.w3schools.com/sql/sql_where.asp

Als het niet lukt, kunnen we je er wel mee helpen, maar dan zal je wel wat code moeten geven zodat wij die aan kunnen passen.

Succes,
MartinJM
 
Ik zal het straks proberen. Zit nu op school. Update: Heb geprobeerd maar waar moet ik die SQL-code zetten?
 
Laatst bewerkt:
Nee? Function? End Class? :eek:

[SQL]SELECT * FROM Filmdatabase WHERE Naam LIKE '%zoekterm%'[/SQL]
Waar zoekterm vervangen wordt door je zoekterm.

Wat is je huidige code?
 
Nog niks, maar ik maak dadelijk een screenshot van form1 (zonder functies) en dan kunnen we samen naar de code kijken. Ok?
 
screenshot_filmdb.jpg
Hierbij de clean form (zonder code, zelfs zonder data source (zo gedaan als t moet))
Bij de voorkant zit een Image (nu Inception) maar als je een film selecteert in DataGridView dat de voorkant van die film zichtbaar wordt (heb alle covers al) Als iemand meer uitleg nodigt heeft hoor ik het graag
 
Laatst bewerkt:
OK. Ik som even een aantal stappen op. Probeer het uit en zeg waar het misgaat:

1. DataSource toevoegen via de Wizard en koppelen aan de DataGridView;
2. De volgende codes kun je implementeren:
Laden:
[CPP]Me.NaamVanTableAdapter.Fill(NaamVanDataSet.TabelNaam)[/CPP]
Zoeken:
[CPP] Dim dv As New DataView(NaamVanJeDataSet.Tables(0))
''//Zoekt alleen in Naam
dv.RowFilter = "Naam LIKE '%" & x & "%'"
DataGridView1.DataSource = dv[/CPP]
 
- Maakt het voor die Image wat uit als ik die niet in een database heb staan maar in een map?
- In die DataGridView komen de zoekresultaten en niet de hele db moet ik m dan alsnog koppelen?
- Maakt het voor de SQL code wat uit dat ik Access gebruik?
 
Laatst bewerkt:
1. Dus dan zou de code zoiets worden [CPP]If DataGridView1.Text.Selected Then PictureBox1.Show Image ... [/CPP] Ik weet dat de code niet klopt...
2. [CPP] Dim dv As New DataView(NaamVanJeDataSet.Tables(0))
''//Zoekt alleen in Naam
dv.RowFilter = "Naam LIKE '%" & x & "%'"
DataGridView1.DataSource = dv [/CPP]
Die x bij & en & wordt als een error gezien
 
Laatst bewerkt:
1. Dus dan zou de code zoiets worden [CPP]If DataGridView1.Text.Selected Then PictureBox1.Show Image ... [/CPP] Ik weet dat de code niet klopt...
Nee. Het is juist de bedoeling dat het pad naar de afbeelding in de database komt. Snap je?

Die x bij & en & wordt als een error gezien
Daar moet je nl je zoekterm plaatsen...
 
Dus dan moet ik gewoon in Access een kolom maken met in de cel het pad?
En hoe kan ik daar dan mijn zoekterm plaatsen? Textbox1.Text?
 
Ja, inderdaad. Een kolom met een pad.

Zoekterm kun je natuurlijk plaatsen in een TextBox.
[CPP]dv.RowFilter = "Naam LIKE '%" & TextBox1.Text & "%'"[/CPP]
 
Als ik nu debug dan zie ik alle db-data. Dit wil ik natuurlijk niet omdat daar de resultaten moeten komen. Maar de code die je me gegeven hebt klopt nu. Maar nu kon ik de zoekfunctie nog niet gebruiken toch?
Debugging_HELP.jpg
 
Wacht, je bent nu aan het zoeken naar iets als het form wordt geladen? Dat kan niet de bedoeling zijn...

Deze functies zijn nodig:

Laden (MyBase.Load) -> laadt complete database;
Zoeken (klik op een zoekbutton) -> zoekt naar trefwoord uit een TextBox (zie laatste code post#10);
Zoekopdracht annuleren - Terug naar complete lijst.

Toch?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan