variabele samenstellen

Status
Niet open voor verdere reacties.

ivdh

Gebruiker
Lid geworden
2 jun 2004
Berichten
54
Is het mogelijk om strings te "combineren". Ik ga proberen zo duidelijk mogelijk uit te leggen wat ik bedoel.

Ik loop door een recordset en wil hierbij een variabele vullen, maar die variabele is dus afhankelijk van een veld uit de recordset.

Ik heb dit geprobeerd, maar dat werkt niet.
bedrag[Rst("Naam")] = RstF("Bedrag")

Rst("Naam") is dus steeds variabel.
Wat ik als resultaat wil krijgen is zoiets:

bedragIngrid = 123
bedragPietje = 165
bedragJanthe = 192
 
Dan krijg ik de melding

Compileerfout:
Verwacht: regelnummer of naam of instructie of Instructie-einde
 
Plaats even de hele sub. Dan kunnen we zien hoe je de recordset aanmaakt en hoe alle variabelen zijn gedeclareerd.


Mischien werkt rst.fields("Naam") wel?


Grtz,
 
De hele sub is denk ik wat veel, omdat er nog veel meer gebeurd. Maar hieronder in ieder geval het stuk waar het om gaat. Ik heb beide oplossingen gebeurd, maar deze geven beide hetzelfde resultaat.

Wat ik wil is een bedrag ophalen en tonen (dat werkt), maar dan ook nog de bedragen optellen per commissielid.


' gegevens van deze vergadering ophalen
SQL = "SELECT TabelCommissieLid.Id, KLLeden.Naam, TabelCommissieLid.Functie FROM TabelCommissieLid LEFT JOIN "
SQL = SQL & "KLLeden ON TabelCommissieLid.LidId = KLLeden.Id WHERE TabelCommissieLid.VergaderingId = "
SQL = SQL & intid & " ORDER BY TabelCommissieLid.Functie DESC"
Set rs = CurrentDb.OpenRecordset(SQL)
rs.MoveLast
aantal = rs.RecordCount
rs.MoveFirst
For i = 0 To aantal - 1
' naam in tabel plaatsen
WordTable.Cell(cel, 1).Range.Text = rs("Naam")
WordTable.Cell(cel, 2).Range.Text = "€"

Dim RsF As Recordset

' bedrag ophalen
If rs("Functie") = "v" Then
SQL = "SELECT Bedrag FROM KLBedragen WHERE Omschrijving = 'Voorzitter'"
Set RsF = CurrentDb.OpenRecordset(SQL)
WordTable.Cell(cel, 3).Range.Text = RsF("Bedrag")
WordTable.Cell(cel, 3).Range.Paragraphs.Alignment = 2

'"bedrag" & Rs("Naam") = RsF("Bedrag")
'"bedrag" & Rst.fields("Naam") = RstF("Bedrag")

RsF.close
Set RsF = Nothing
Else
SQL = "SELECT Bedrag FROM KLBedragen WHERE Omschrijving = 'Lid'"
Set RsF = CurrentDb.OpenRecordset(SQL)
WordTable.Cell(cel, 3).Range.Text = RsF("Bedrag")
WordTable.Cell(cel, 3).Range.Paragraphs.Alignment = 2

' "bedrag" & Rs("Naam") = RsF("Bedrag")
' "bedrag" & Rst.fields("Naam") = RstF("Bedrag")

RsF.close
Set RsF = Nothing
End If

cel = cel + 1
rs.MoveNext
Next i
rs.close
Set rs = Nothing

' naar volgend record
Rst.MoveNext
Next

Rst.close
Set Rst = Nothing
 
Dictionary

Ik denk niet dat je benoemde arrays kan gebruiken in VB (zoals in php), wat je wel kan is een 'Dictionary' maken.
Je moet eerst een verwijzing zetten naar de microsoft 'Microsoft scripting runtime' bib voor je ze kan gebruiken.
Zoek daarna even in de VBA help naar 'Dictionary'.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan