"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant
Verwijderd
Ik gebruik hiervoor altijd het ActiveX ListView object. Misschien heb je hier wat aan. Werkt in Access 97. Het object vind je onder het gereedschap ikoon en heet "ListView Control Version 5.0".
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| Function FillList(Domain As String, LV As Object) As Integer
'==================================================================
' Purpose: to fill a ListView control with data from a table or
' query
' Arguments: a Domain which is the name of the table or query, and
' a ListView control object
' Returns: The number of records
'==================================================================
Dim db As Database, rs As Recordset
Dim intTotCount As Integer
Dim intCount1 As Integer, intCount2 As Integer
'Dim colNew As ColumnHeader, NewLine As ListItem
Dim colNew, NewLine
On Error GoTo Err_Man
' Clear the ListView control.
LV.ListItems.Clear
LV.ColumnHeaders.Clear
' Set Variables.
Set db = CurrentDb
Set rs = db.OpenRecordset(Domain)
' Set Column Headers.
For intCount1 = 0 To rs.Fields.Count - 1
Set colNew = LV.ColumnHeaders.Add(, , rs(intCount1).Name)
Next intCount1
LV.View = 3 ' Set View property to 'Report'.
' Set Total Records Counter.
rs.MoveLast
intTotCount = rs.RecordCount
FillList = intTotCount
rs.MoveFirst
' Loop through recordset and add Items to the control.
For intCount1 = 1 To intTotCount
If IsNumeric(rs(0).Value) Then
Set NewLine = LV.ListItems.Add(, , Str(rs(0).Value))
Else
Set NewLine = LV.ListItems.Add(, , rs(0).Value)
End If
For intCount2 = 1 To rs.Fields.Count - 1
NewLine.SubItems(intCount2) = rs(intCount2).Value
Next intCount2
rs.MoveNext
Next intCount1
Exit Function
Err_Man:
' Ignore Error 94 which indicates you passed a NULL value.
Select Case Err
Case 94
Resume Next
Case 3021
Exit Function
Case 93, 3075
MsgBox "In de zoekcriteria staan ongeldige leestekens. " & _
"Pas de zoekcriteria aan.", vbInformation, "Ongeldige query"
Exit Function
Case Else
' Otherwise display the error message.
MsgBox "Error: " & Err.Number & Chr(13) & _
Chr(10) & Err.Description
End Select
End Function |
ik zal het eens proberen, bedankt.
"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant
Sorry voor de kick, maar ik zit dus met hetzelfde probleem...ErikRo schreef op 08 November 2002 @ 09:39:
ik zal het eens proberen, bedankt.
Is het jou al wel gelukt ErikRo?
Verwijderd
Ik heb eens even in de help van Access gekeken. Ik wist het ook niet meer
Maar ik zie dat de listbox drie typen rowsource kent. Als je hem instelt op lijst met waarden dan moet je gewoon een string meegeven met daarin de waarden. Als je een table/query type selecteert geef je dus een query of tabel mee enzovoort enzovoort...
Maar ik zie dat de listbox drie typen rowsource kent. Als je hem instelt op lijst met waarden dan moet je gewoon een string meegeven met daarin de waarden. Als je een table/query type selecteert geef je dus een query of tabel mee enzovoort enzovoort...
Ja die had ik ook alVerwijderd schreef op 19 November 2002 @ 16:12:
Ik heb eens even in de help van Access gekeken. Ik wist het ook niet meer![]()
Maar ik zie dat de listbox drie typen rowsource kent. Als je hem instelt op lijst met waarden dan moet je gewoon een string meegeven met daarin de waarden. Als je een table/query type selecteert geef je dus een query of tabel mee enzovoort enzovoort...
Maar hoe gooi je die quuery eroverheen dan
Ik heb in m'n VBA code nu dit:
code:
1
| listbox.RowSource = stringMetTekst |
Maar op die manier gooit ie alleen een waarde in de 1e row, de rest vult ie niet.
[edit]
* FitNiX heeft zojuist de oplossing gevonden
YES, heb hem net gevonden, t*ring, enkele uren op gezeten. Terwijl het zo simpel is
Voor de nieuwsgierigen onder ons is hier de oplossing:
• Zorg ervoor dat de listbox ingesteld is als: Table/View/StoredProc
• Daaronder bij Datasource vul je niets in.
• Vervolgens zet je in je code het volgende:
code:
Voila 1
2
3
4
5
6
7
8
9
10
11
12
13
| 'Haalt de modulen horende bij de categorie op
Private Sub combobox_Change()
Dim sCategorie As String
Dim sQuery As String
'Haalt de gekozen categorie op uit de combobox
sCategorie = combobox.Value
'Haalt alle modules op die horen bij die categorie.
sQuery = "SELECT m.Name FROM module m, categorie_module cm WHERE cm.ukeyCat ='" & sCategorie & "'"
listbox.RowSource = sQuery
End Sub |
Sorry voor de layout
Ook hierzo te vinden
[/edit]
Verwijderd
De lijst is een semicolumn seperated lijst, met puntkomma's in normaal NL. Maar 9/10 is een query wel handiger...Kermit schreef op 19 November 2002 @ 16:56:
[...]
Ik heb in m'n VBA code nu dit:
code:
1 listbox.RowSource = stringMetTekst
Maar op die manier gooit ie alleen een waarde in de 1e row, de rest vult ie niet.
Ah bedankt, dat is altijd makkelijk om te weten...Verwijderd schreef op 19 November 2002 @ 19:00:
[...]
De lijst is een semicolumn seperated lijst, met puntkomma's in normaal NL. Maar 9/10 is een query wel handiger...
Even ter aanvulling, aangezien ik er ook heel lang mee geprutst heb.Verwijderd schreef op 19 november 2002 @ 19:00:
[...]
De lijst is een semicolumn seperated lijst, met puntkomma's in normaal NL. Maar 9/10 is een query wel handiger...
In Access 2003 (misschien 2002 ook wel) werkt dit perfect
Voor Access 2000 geeft dit echter problemen. Aangezien 2000 voor de meeste databases prima voldoet, gebruik je voor eigen code i.c.m. een listbox beter het volgende.For x = 1 To .RecordCount
Me.lstcontractafloop.AddItem !SpelerID & ";" & !Voornaam & "; etc. etc
.MoveNext
Next
Het voordeel: geen extra combobox en bovendien code die iets meer tot de verbeelding spreekt. Zeker bij grafisch ontwerp als in Access toch wel handig, al zeg ik het zelf.For x = 1 To .RecordCount
Me.lstcontractafloop.RowSource = Me.lstcontractafloop.RowSource & !SpelerID & ";" & !Voornaam & ";" & etc. etc
.MoveNext
Next
NB. Denk aan de punt-komma na het laatste item! Anders krijg je alsnog hele rare resultaten na het toevoegen van meer dan een item.
Pagina: 1