Toon posts:

[VB6] Datareport laat eerste record niet zien.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik heb een VB programma'tje aan het schrijven.
Ik ben hier al redelijk ver mee.
Ik wil nu alleen nog een print functie erbij hebben.
En de datareport heeft genoeg mogelijkheden voor mij.
Ik heb de datareport ook al aan de praat met verschillende
sql query's.
Mijn enigste probleem is dat hij de eerste record niet laat zien.
Ik heb met de zelfde query eens alle records in een combobox geladen
en hier laat hij wel alle records zien.
Ik zal ff alle code plakken die ik nodig heb om zo'n datareport te laden :

-----------------------------------------------------------------

Public cnnDatabase As New ADODB.Connection
Public cmdcatalogNC_Country_Scale_Info As New ADODB.Command
Public rs As New ADODB.Recordset
Public rscatalogNC_Country_Scale_Info As New ADODB.Recordset
Public Selectie As String

------------------------------------------------------------------

Public Sub Verbinden()
With cnnDatabase
.ConnectionString = "Provider=MSDAORA.1;User ID=catalog_admin;Password=*********;Data Source=DWHSID_server1;Persist Security Info=False"
.Open
End With
End Sub
-----------------------------------------------------------------

Public Sub tabelcatalogNC_Country_Scale_Info()

Selectie = _
"select IMAGE,PRODUCER_ID,SUPPLIER_ID, " & _
"catalognc.MAPNC_ID,PROJECTION_ID,COORDINATESYSTEM_ID,DATUM_ID, " & _
"DATEPRODUCED,SCALE,STORAGE,FILENAME,EDITION, " & _
"FILEFORMAT,INFORMATIONTYPE,GEOREFERENCED,MAPCHECK, " & _
"RESOLUTION,COMPRESSION,MAPSIZE,SCAN,FILESIZE, " & _
"THIRDPARTY,COSTS,DGKL_INSTOCK,DIGITAL,COPYRIGHT, " & _
"CLASIFICATION,REMARKS,CD,SERIES,LOCKERNR,DRAWERNR, " & _
"ROWNR, POSITIONNR from CATALOGNC, MAPCOUNTRY, COUNTRYCODE " & _
"where catalognc.mapnc_id = mapcountry.mapnc_id and " & _
"mapcountry.countryname_id = countrycode.countryname_id and " & _
"countrycode.countryname = '" & countrytxt & "' and " & _
"catalognc.informationtype = '" & infotxt & "' and " & _
"catalognc.scale = '" & scaletxt & "'order by catalognc.MAPNC_ID"


With cmdcatalogNC_Country_Scale_Info
.ActiveConnection = cnnDatabase
.CommandText = Selectie
End With

With rscatalogNC_Country_Scale_Info
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open cmdcatalogNC_Country_Scale_Info
End With
End Sub

----------------------------------------------------------------

Private Sub Command2_Click()

Verbinden
Set rs = cnnDatabase.Execute(Selectie)

If rs.EOF = False Then
Set DrCs.DataSource = rs
DrCs.Show vbModal
End If

rs.Close
Set rs = Nothing
cnnDatabase.Close

End Sub

------------------------------------------------------------

Dus het probleem is dat hij alle records laat zien behalve de eerste.

  • MMUilwijk
  • Registratie: Oktober 2001
  • Laatst online: 17:14
Zou je de code even tussen [code] tags willen zetten? Dat leest een stuk prettiger.
Verder moet je misschien handmatig naar het eerste record gaan (.movefirst) en wellicht even je datareport refreshen? Let op, dit is een blinde gok!

[ Voor 41% gewijzigd door MMUilwijk op 15-07-2004 11:45 ]

Everytime I suffer I become a better man because of it


Verwijderd

Topicstarter
rs.movefirst helpt ook niets.
Net zo als de datareport refreshen.

Ik zal de code zo ff in [code] zetten.

Verwijderd

Topicstarter
Na uren rond zoeken op het internet kwam ik er op uit dat
teminste dat denk ik het aan MDAC ligt t/m 2.7

Ik heb nu dus 2.8 geinstalleerd maar dit werkte ook niet.

Ik snap ook niet waarom hij de eerste record niet laat zien.
Met dezelfde query laad hij wel alles in een combobox

Verwijderd

Topicstarter
Ik denk dat dit toch een bug is.
Ik werk namelijk op een oracle database.
Met een mdb doet hij het gewoon.

Dus ik weet nu echt niet meer wat ik moet doen om
het aan de praat te krijgen.

Verwijderd

Topicstarter
Na lang zoeken op internet en vooral zelf uitproberen en heeeel veeel kofie
heb ik een oplossing gevonden.
Omdat ik wist dat mijn sql query goed was en mijn connectie in de module
ook, dat ik onder de knop zelf moest zoeken.
Ik heb deze code (oud):

-------------------------------------------------------------
Private Sub Command2_Click()

Verbinden
Set rs = cnnDatabase.Execute(Selectie)

If rs.EOF = False Then
Set DrCs.DataSource = rs
DrCs.Show vbModal
End If

rs.Close
Set rs = Nothing
cnnDatabase.Close

End Sub
---------------------------------------------------------------

vervnagen door deze code(nieuw) :

---------------------------------------------------------------
Private Sub Command2_Click()

Verbinden
Set rs = New ADODB.Recordset
rs.Open Selectie, cnnDatabase, adOpenDynamic, adlockOptimistic
Set DrCs.DataSource = rs
DrCs.Show 1
rs.Close
Set rs = Nothing
cnnDatabase.Close

End Sub
---------------------------------------------------------------

Ik zet het antwoord maar hierop als iemand het zelfde probleem
krijgt of heeft.
Pagina: 1