[vb6] gegevens vanuit DataList naar listbox

Pagina: 1
Acties:

  • Blerp
  • Registratie: Mei 2003
  • Niet online

Blerp

I exist out of spite

Topicstarter
k heb een lijst met gegevens in een datalist staan (variabel aantal regels) en delen door wat ik in text1 invoer en de uitkomsten daarvan uitvoeren naar een listbox.
ik heb zelf pas iets als
code:
1
2
3
For Item = 1 To DataList.ListCount - 1
List1.AddItem (DataList1.List(Item) / Text1.Text)
next item

maar dat wil natuurlijk niet werken want datalist kent .list niet

Insert vies grapje hier


Verwijderd

Je kunt volgens mij het best de onderliggende data source (bijv. een ADO Data Control) gebruiken om de gegevens op te halen die in de datalist worden weergegeven.

  • Blerp
  • Registratie: Mei 2003
  • Niet online

Blerp

I exist out of spite

Topicstarter
de datalist haalt ook netjes de info uit de adodc, dat is het probleem niet. Het probleem is dat ik alle waarden die in de datalist staan moet delen door de waarde in textbox1 en de uitkomsten in dezelfde volgorde moet plaatsen in de listbox.
ook al geprobeerd om als datafield het volgende in te stellen maar dat wil ook niet:
code:
1
datalist1.datafield = "m2" / text1.caption

Insert vies grapje hier


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Wat Campo probeert te zeggen is dat je je data niet moet proberen te lezen uit de datalist die (als VB6 op Delphi lijkt, ik ken VB6 verder niet) zijn data direct uit zijn datasource haalt. Je kan toch gewoon door alle records in je datasource heen stappen?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Blerp
  • Registratie: Mei 2003
  • Niet online

Blerp

I exist out of spite

Topicstarter
nu snapte ik pas wat Campo wilde zeggen, dank -NMe- voor het openen van m'n ogen :)

k heb de sub compleet omgegooid en het is het volgende geworden:
code:
1
2
3
4
5
6
7
8
Dim item
Dim lijstoverzicht
Adodc1.Recordset.MoveFirst
For lijstoverzicht = 0 To Adodc1.Recordset.RecordCount - 1
item = (Text1.Text / txtFields(1).Text) + 1
List1.AddItem (Round(item + 0.5))
Adodc1.Recordset.MoveNext
Next lijstoverzicht

het zal vast wel korter kunnen, maar het werkt en het hoeft per klant maar 1x uitgevoerd te worden. Het is een sub om uit een database een lijst met oppervlakte per pak laminaat te halen en dan te berekenen hoeveel pakken je nodig hebt met het aantal m2 uit text1. Het optellen van de 1 is voor het reserve-pak en het optellen van 0,5 voor het correct afronden (omzeilen bankers-rounding).
Dit is m'n eerste echte programma wat ik schrijf dus zal allemaal nog niet perfect gaan, maar er staan voorbeelden genoeg op internet om van te leren 8)

Insert vies grapje hier