waarde van expressie

Status
Niet open voor verdere reacties.

BasHD

Gebruiker
Lid geworden
2 dec 2008
Berichten
99
Code:
Sub Wegschrijven(ByRef AantKg, ByRef EuroInclBtw, ByRef StartDatum, ByRef EindDatum, ByRef Code, ByRef IDCode, ByRef kVEM, ByRef KgDs, ByRef Stikstof, ByRef Fosfaat)

Dim MaandStart, MaandEind, JaarStart, JaarEind, GebruiksDagen, KgDag, EuroDag, EindeMaandStartDatum, BeginMaandEindDatum, StikstofDag, FosfaatDag
Dim AantalMaanden, VerschilJaren, KgBeginMaand, MaandInvoer, EuroBeginMaand, KgLaatsteMaand, EuroLaatsteMaand, teller, KgMaand, KgEuro
Dim GebruiksMaanden, GebruiksJaar, JaarNummer, ZoekJaar, ZoekMaand, MaandDagen, xMaandDagen, kVEMDag, KgDsDag, kVEMBeginMaand, KgDsBeginMaand, kVEMLaatsteMaand, KgDsLaatsteMaand
Dim StikstofBeginMaand, FosfaatBeginMaand, StikstofLaatsteMaand, FosfaatLaatsteMaand, Stikstof2, Fosfaat2, LastOfMonth
Dim DBase As DAO.Database
Dim strSQL, strSQL2, strSQL3 As String

    
  Set DBase = CurrentDb
    
 strSQL = "SELECT * FROM T_KgEuro WHERE Code = " & Code & "  And  [B][COLOR="red"]InvoerNummer [/COLOR][/B]= " & IDCode & ""
            
                With DBase.OpenRecordset(strSQL)
                .MoveLast
                    .MoveFirst
                    
                    If .RecordCount > 0 Then
                        .Delete
                    End If
                    .Close
                    
                End With
                
    Set DBase = Nothing

Dit is even het stukje VBA waar ik in vast loop.

InvoerNummer geeft als ik op schift F9 druk de volgende fout:

Een expressie is niet gedefinieerd in de context.

Maak ik van InvoerNummer [InvoerNummer] dan geeft ie de melding:

kan het veld|1 niet vinden waarnaar verwezen wordt in de expressie

Het veld heeft in de brontabel de eigenschappen: Dubbele Preciesie, Vast en 0 decimalen.

Het gekke voor mij is dat " & IDCode & " keuring een waarde heeft.

Wie kan mij verder helpen?

gr

BB
 
Heb je al geprobeerd om de recordset met een vaste waarde te openen? Dus iets als:
Code:
strSQL = "SELECT * FROM T_KgEuro WHERE Code = " & Code & " AND InvoerNummer = 123"

Overigens heb je een enorme berg variabelen gedeclareerd zonder type; nu zijn dus alle tektsvelden, numerieke velden een datumvelden van het type Variant. Heb je daar een speciale reden voor?
 
volgende test

Code:
strSQL = "SELECT * FROM T_KgEuro WHERE [Code] = " & Code & "  And  InvoerNummer = 367"

Als ik nu InvoerNummer selecteer en shift+F9 doe dan krijg ik opnieuw de melding:
Watch : : InvoerNummer : <Een expressie is niet gedefinieerd in de context> : Empty : Form_F_INVOER_2006.Wegschrijven

Nee, ik heb geen reden om zonder type te declareren. Ik begrijp nog niet de meerwaarde daarvan en alles doet wat ik wil behalve dit.

Dit stukje vba wordt aangeroepen vanuit een call, kan dat de fout veroorzaken?

IDCode (zie eerste vraag) is wel de IDnummering van de tabel. Is een lange integer.

gr

BB
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan