bepaalde gegevens opzoeken in een databank.

Status
Niet open voor verdere reacties.

Pilchaar

Gebruiker
Lid geworden
10 nov 2006
Berichten
42
hallo, ik werk nog steeds met de VB.net 2003 maar ik zit met een probleem. Ik heb een databank waarin ik maand en jaar wil laten controleren.
Indien het jaar hoger is dan het ingegevens getal dan moet hij deze tonen.
Ik weet heel simpel uit te leggen maar ik zit hier gewoon hopeloos vast.
De databanken die ik gemaakt heb is in acces gemaakt. Heeft er iemand ooit zo'n oefening/programma gemaakt? Zoja is het mogelijk om hierop de code op te zetten.
Ik ben de wanhoop nabij daaromtrend.

MVG
 
opvragen van gegevens + schrijven.

geachte;
Omdat er geen melding kwam heb ik zelf al een beetje gezocht en ben op het volgende gekomen:

Code:
For Each amburij In DSinvetaris44801.Tables("inventaris44801").Rows
            kolom = amburij(5).ToString
            If kolom < jaar Then
                ambulance.Columns.Add(amburij(0).ToString)
                ambulance.Columns(amburij(0).ToString).DefaultValue = "0"
                kolomvorig = amburij(0).ToString
            End If
        Next
        For Each amburij In DSinvetaris44801.Tables("inventaris44801").Rows
            rij = amburij(0).ToString
            If rij <> rijvorig Then
                ambulance.Rows.Add(ambulance.NewRow)
                rijnr = rijnr + 1
                ambulance.Rows(rijnr)(0) = amburij(0)
            End If
            ambulance.Rows(rijnr)(amburij(1).ToString) = amburij(2)
            rijvorig = amburij(0).ToString
        Next
        DataGrid1.DataSource = ambulance

Nu is mijn probleem, hij leest wel mijn databank maar hij schrijft deze niet in mijn datagrid kan iemand mij mss een voorbeeld of zeggen waar mijn fout is AUB.
 
Laatst bewerkt door een moderator:
Plichaar,

Een Datagrid vraagt een Recordset als invoer.
Zie bijgaand voorbeeld.

Code:
Private Sub Command1_Click()
  
   Set rst = New ADODB.Recordset
   rst.CursorLocation = adUseClient
   
   ' Add columns to the Recordset
   rst.Fields.Append "Key", adInteger
   rst.Fields.Append "Field1", adVarChar, 40, adFldIsNullable
   rst.Fields.Append "Field2", adDate

   ' Open the Recordset
   rst.Open , , adOpenStatic, adLockBatchOptimistic

   ' Add data to the Recordset
   rst.AddNew Array("Key", "Field1", "Field2"), _
      Array(1, "string1", Date)
   rst.AddNew Array("Key", "Field1", "Field2"), _
      Array(2, "string2", #1/1/2000#)

   ' Populate the Data in the DataGrid
   Set DataGrid1.DataSource = rst

End Sub

Uiteraard kun je ook met behulp van SQL een recordset maken die je weer in de Datagrid kan gebruiken.

rst = db.createrecordset("Select * from inventaris44801 where jaar > " & IngegevenJaar)

etc

Veel Succes.
 
Doe U dat in een array ofzo want New ADODB.Recordset komt niet voor in de lijst en geeft daar direct een fout op.
Dit kan toch normaal niet zo moeilijk zijn voor zoiets te doen (veronderstel ik)
In de query aanbrengen gaat het perfect dat lukt het is gewoon de manier om dit via die vb.net te kunnen bolwerken dat niet klaar komt.
Hij leest mij databank maar als ik met de volledige code daar een oledbadaptor.fill bijzet dan geeft hij de fout dat mijn eerste rij niet in de tabel staat? Is mijn linken dan wel goed.
Databank in acces noemt inventaris44801 en in vb.net is dit Dsinventaris44801.
Hopelijk kunt gij er wijs aan geraken.
 
Pilchaar,

Een ADODB.Recordset komt inderdaad niet standaard voor in VB, dit is een aparte libary die je aan een
project moet toevoegen om hierover te kunnen beschikken.
Binnen Access, ga naar Visual Basics en kies binnen het hoofdmenu voor Extra en Verwijzingen vink daarna de volgende library aan:
Microsoft AcitiveX Data Objects 2.1 Library. Daarn kun je er in VBA gebruik van maken.

Binnen VB 6.0: Ga naar Project, References en kies voor dezelfde library.

Veel Succes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan