[vb6] DataList/Listbox vullen d.m.v. SQL-statement

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
In een applicatie selecteer ik via een SQL-statement een aantal records in een DataGrid, waaruit vervolgens een keuze kan worden gemaakt. Dit vind ik echter geen nette oplossing dus wil ik dat de records worden weergegeven in een DataList (DBList/Listbox). Ik krijg dit niet voor elkaar.

Deze code gebruik ik om de datagrid te updaten:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub txtSearch_KeyUp(KeyCode As Integer, Shift As Integer)
    Dim sNaam As String
    Dim sSQL As String
    
    sNaam = txtSearch.Text
    
    If txtSearch = "" Then
        sSQL = "SELECT * FROM Debiteuren ORDER BY Naam"
    Else:
        sSQL = "SELECT * FROM Debiteuren WHERE Naam LIKE '" & sNaam & "%' ORDER BY Naam"
    End If

    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = sSQL
    Adodc1.Refresh
    DataList1.Refresh
 
End Sub


Hoe krijg ik dit voor elkaar in een Listbox of DataList?

Verwijderd

Hmz.. je kunt even de moeite nemen om even op MSDN te kijken naar de eigenschappen van een listBox en/of dataList.

Maar vooruit:

code:
1
2
ListBox.AddItem
ListBox.Items.Add


Tip: http://www.cs.fiu.edu/~downeyt/cop3175/differences.html
Gevonden met Google.com

Succes er mee ;)

[ Voor 25% gewijzigd door Verwijderd op 08-10-2003 12:53 ]


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Verwijderd schreef op 08 October 2003 @ 12:48:
Hmz.. je kunt even de moeite nemen om even op MSDN te kijken naar de eigenschappen van een listBox en/of dataList.

Maar vooruit:

code:
1
2
ListBox.AddItem
ListBox.Items.Add


Tip: http://www.cs.fiu.edu/~downeyt/cop3175/differences.html
Gevonden met Google.com

Succes er mee ;)
OK, dit heb ik voor elkaar. Listbox is nu gevuld op de juiste manier. Is het mogelijk om deze nu zonder code te koppelen aan de database zodat ik als ik een selectie in de listbox maak deze direct het juiste record in de ADO-recordset selecteert?

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Je listbox dataaware maken? Dus genoeg in je ontwerpvenster de listbox aan je veld koppelen.

  • Yoeri
  • Registratie: Maart 2003
  • Niet online

Yoeri

O+ Joyce O+

(overleden)
of datalistbox toevoegen in je project

http://www.google.be/sear...rol%22+visual+basic&meta=

Kijkje in de redactiekeuken van Tweakers.net
22 dec: Onze reputatie hooghouden
20 dec: Acht fouten


Verwijderd

EmilneM schreef op 08 oktober 2003 @ 13:25:
[...]
OK, dit heb ik voor elkaar. Listbox is nu gevuld op de juiste manier. Is het mogelijk om deze nu zonder code te koppelen aan de database zodat ik als ik een selectie in de listbox maak deze direct het juiste record in de ADO-recordset selecteert?
En daar kwam nog een tip ;)

Visual Basic:
1
2
3
4
myListBox.DataSource = myDataSet
myListBox.DataValueField = "RecordID"
myListBox.DataTextField = "RecordName"
myListBox.DataBind()


edit:

typ fout

[ Voor 7% gewijzigd door Verwijderd op 08-10-2003 13:46 ]


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Verwijderd schreef op 08 October 2003 @ 13:45:
[...]


En daar kwam nog een tip ;)

Visual Basic:
1
2
3
4
myListBox.DataSource = myDataSet
myListBox.DataValueField = "RecordID"
myListBox.DataTextField = "RecordName"
myListBox.DataBind()


edit:
typ fout
Kom er nog niet helemaal uit....Hoe update ik hiermee nu vervolgens de ADO-recordset zodat het juiste record is geselecteerd?

[ Voor 8% gewijzigd door EmilneM op 08-10-2003 14:23 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Kom er nog niet helemaal uit....Hoe update ik hiermee nu vervolgens de ADO-recordset zodat het juiste record is geselecteerd?
een klein beetje zelf zoeken en (onder)vinden is misschien geen overbodige luxe...?

Kijk naar de mogelijkheden die je hebt om recordsets te editten, results te posten, naar records te moven en deze te selecten et cetera. Deze materie is allemaal redelijk simpel op bijvoorbeeld de MSDN library te vinden.

Tip:
kijk eens naar de dikgedrukte woorden voor een paar zoektermen ;)

[ Voor 18% gewijzigd door OZ-Gump op 08-10-2003 14:29 ]

My personal website


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Met de volgende code lukt het me om naar een bepaald record te gaan als ik een item in de datalist aanklik:

Visual Basic:
1
2
3
4
5
6
7
8
9
Private Sub List1_Click()
    
    sDebiteurennummer = DataList1.BoundText
    sSQL3 = "Select * FROM Debiteuren WHERE Debiteurennummer = " & sDebiteurennummer & ""

    Adodc1.CommandType = adCmdText
    Adodc1.RecordSource = sSQL3
    Adodc1.Refresh
End Sub


Omdat er een nieuwe query wordt uitgevoerd verdwijnen echter ook alle waarden (op de uitkomst van de query na) in de listbox. Ik kan er ook gewoon een tweede ADO-component aan toevoegen maar dit vind ik niet echt een nette oplossing. Er moet toch een manier zijn om Ado1 te laten moven naar het record waar het Debiteurennummer gelijk is aan DataList1.BoundText.

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Het is erg lastig om met twee ADO-componenten te werken terwijl je maar met 1 tabel werkt. Ze moeten steeds allebei geupdated worden en ook allebei op hetzelfde record staan. Ik werk dus echt het liefst met 1 ADO-component die door de DataList wordt uitgelezen en datzelfde ADO-component moet naar het record springen dat wordt gekozen in de Datalist.

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
*kick*

Kom er nog steeds niet uit........Hoe laat je een Ado-component moven naar een record dat aan bepaalde criteria voldoet?

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Verwijderd schreef op 08 October 2003 @ 13:45:
[...]


En daar kwam nog een tip ;)

Visual Basic:
1
2
3
4
myListBox.DataSource = myDataSet
myListBox.DataValueField = "RecordID"
myListBox.DataTextField = "RecordName"
myListBox.DataBind()


edit:
typ fout
Klinkt logisch maar de compiler geeft een fout omdat de eigenschappen DataValueField en DataTextField niet worden herkend. Daarnaast verwacht hij achter de DataBind een '='.
Pagina: 1