Deze website maakt gebruik van cookies. Waarom? Klik hier voor ons privacy- en cookiebeleid. Door op akkoord te klikken of door gebruik te blijven maken van deze website geeft u aan akkoord te zijn met het gebruik van cookies.

Akkoord

Vraag & Antwoord

Programmeren

Gegevens ophalen uit MySQL met VB

dr gates
6 antwoorden
  • Public Function Load_Batch_From_Server(ByVal BatchID As Long, ByVal UnitID As Integer) As Boolean
    Dim Huidigebatch As Type_Weger_VolledigeBatch
    Dim TBl As ADODB.Recordset
    Dim sqlstring As String

    'Database openen
    On Error GoTo Load_Batch_From_Server_Error

    Connectiestatus = Open_Connection
    If Connectiestatus = True Then
    Set TBl = New ADODB.Recordset
    TBl.CursorLocation = adUseClient
    TBl.Open "SELECT * FROM tbl_afwegingenbatch INNER JOIN tbl_unitcomponenten ON tbl_afwegingenbatch.componentnr= tbl_unitcomponenten.componentnr WHERE tbl_unitcomponenten.actief=1 AND unitID=" & UnitID & " AND batchid=" & BatchID & " ORDER BY ComponentVolgnr;", Connection
    Call ChangeDBConnectionCounter(True)

    If TBl.BOF = True And TBl.EOF = True Then
    Call ChangeDBConnectionCounter(False)
    Exit Function
    End If

    TBl.MoveFirst
    ComponentTeller = 0

    Do While TBl.EOF = False
    With Huidigebatch.Component(ComponentTeller)
    .BijweegComponent = IIf(TBl.Fields("Bijweegcomp") <> 0, True, False)

    Met de vorige functie wil ik de gegevens voor een bepaalde batch en unitID uit MySQL halen. mr hij geeft de SQLstring altijd aan als leeg (TBl.BOF=true en TBl.EOF=true) en toch bevinden zich hier gegevens in???
    Zit er dan een fout in de code om de gegevens op te vragen?

    alvast bedankt

    mvg
    Dr Gates
  • [code:1:dee504de26] TBl.Open "SELECT * FROM tbl_afwegingenbatch INNER JOIN tbl_unitcomponenten ON tbl_afwegingenbatch.componentnr= tbl_unitcomponenten.componentnr WHERE tbl_unitcomponenten.actief=1 AND unitID=" & UnitID & " AND batchid=" & BatchID & " ORDER BY ComponentVolgnr;", Connection [/code:1:dee504de26]Heb je deze query ook al getest met behulp van je Mysql browser?
  • ja, en werkt perfect! ik krijg elke keer een hele reeks gegevens mr toch neemt hij er geen aan.
  • deze foutmelding kreeg ik daarnet na even te zoeken:
    De gegevensvoorziening of een andere service heeft de status E_FAIL geretourneerd.
    foutnummer:-2147467259
  • ok, ik heb het probleem al kunnen oplossen. Ik moest gewoon de SELECT*FROM vervangen door SELECT tbl_…., tbl_,… FROM. ik moet elke kolom apart benoemen.
    Maar nu heb ik het volgende probleem bij het zoeken naar deze verschillende records, hij kan de items niet vinden. ik neem nu deze sqlstring :

    SELECT tbl_afwegingenbatch.componentnr, tbl_afwegingenbatch.soll, tbl_afwegingenbatch.status, tbl_unitcomponenten.bijweegcomp, tbl_unitcomponenten.componentvolgnr FROM tbl_afwegingenbatch INNER JOIN tbl_unitcomponenten ON tbl_afwegingenbatch.componentnr= tbl_unitcomponenten.componentnr WHERE tbl_unitcomponenten.actief=1 AND unitID=" & UnitID & " AND batchid=" & BatchID & " ORDER BY ComponentVolgnr;

    Maar nu in mijn code bij huidigebatch. …. geeft hij telkens: Kan het item niet vinden in de collectie die overeenkomt met de gewenste naam of het gewenste nummer.
    foutnummer: 3265
    ?? nu moet hij de records toch alleen nog mr uit de database te halen?
  • Deze foutmelding geeft aan dat een bepaald veld niet gevonden kan worden. Controleer nog eens of je alle velden goed genoteerd hebt. Wat is dat huidigebatch ding voor iets? Heeft dat geen wijzigingen nodig?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.