[VBA] Gegevens ophalen vanuit Btrieve

Pagina: 1
Acties:

  • Uiligheid
  • Registratie: December 2000
  • Laatst online: 20-08 15:21

Uiligheid

alle gekheid op een stokje

Topicstarter
Taliho !

Ben bezig een database leeg te sleuren, alleen het werkt niet. Ik heb niet een idee waarom. Ik ben bezig om hem in access in een recordset te dumpen, maar dat wil niet. De database zelf is Btrieve.
Hieronder de (VBA) code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim conBtrieveDatabase As New ADODB.Connection
Dim rstGegevens As New ADODB.Recordset

conBtrieveDatabase.Open "DSN=NOOS;UID=;PWD="

rstProjecten.Open "SELECT * FROM NOOSACT", conBtrieveDatabase, adOpenStatic
Debug.Print rstGegevens.Fields.Count
Debug.Print rstGegevens.RecordCount

While rstGegevens.EOF = False
    rstGegevens!ActId
    rstGegevens.MoveNext
Wend

Bovenstaand zou moeten werken, althans met een Access database werkt hij wel. Dan krijg ik mooi alle gegevens op een rijtje. Nu echter niet. De recordcount geeft een uitkomst van -1. Dit houdt volgends de ADO-API van MS in dat de ADO niet kan zien hoeveel records er zijn.
Nu is dat niet zo'n probleem, als ik er daarna maar door heen kan wandelen. Dat doet hij echter ook niet. Hij geeft dan een foutmelding dat zowel BOF als EOF waar zijn, of de huidige record is verwijdert.

Tweede oplossing van MS, is dat iets vaags m.b.t. de cursor. Ik heb alle cursors geprobeerd, maar krijg immer dezelfde foutmelding.

Iemand een idee?

Ceterum censeo Carthaginem esse delendam


  • Sjnirk
  • Registratie: Maart 2001
  • Laatst online: 27-03-2025

Sjnirk

Hie vrieve

Ik weet niet of het helpt, denk het haast niet maar je weet maar nooit, maar movefirst voordat je begint?

Bikkelen gebeurt pas na 2:00


  • Uiligheid
  • Registratie: December 2000
  • Laatst online: 20-08 15:21

Uiligheid

alle gekheid op een stokje

Topicstarter
had ik inderdaad ook al aan gedacht. Helpt inderdaad niet. Hij denkt dat hij geen records heeft. MoveFirst geeft de fout:
Fout -2147467259(80004005) tijdens uitvoering
Niet nader omschreven fout

Ceterum censeo Carthaginem esse delendam


  • Uiligheid
  • Registratie: December 2000
  • Laatst online: 20-08 15:21

Uiligheid

alle gekheid op een stokje

Topicstarter
schopje.

Sorry, ben er namelijk nog steeds niet uit |:(

Zijn er geen Btrieve goden hier :?

Ceterum censeo Carthaginem esse delendam


  • PdeHoog
  • Registratie: December 2001
  • Laatst online: 23-09-2024
Is het misschien een idee om eens met de sleur- en pleurmogelijkheden van Access te werken:

Probeer eens naar de tabellen te linken en dan deze queries te draaien. Je kunt hier ook passthrough-queries voor gebruiken en zo.

Dan kun je in ieder geval uitsluiten dat de connectie niet goed werkt.

Verwijderd

BTrieve is een ramp.... ik ben er zelf nooit uitgekomen. Wij hebben een component gekocht (www.classicsoftware.com) die de afhandeling naar BTrieve of zich nam. Niet goedkoop, maar werkt wel prima...

Verwijderd

Ben zelf niet zo op de hoogte van DB's maar heb ook wel eens een soort gelijk probleem gehad om een btrieve db om te zetten naar sql. Probleem blijk toen te zijn dat de echt db van btrieve een dir hoger zat in de structuur dan wat hij zelf aangeeft. Kijk dus je path eens goed na het lijkt mij dat je probleem hier kan zitten omdat hij ook zegt dat hij de records niet kan vinden

  • Uiligheid
  • Registratie: December 2000
  • Laatst online: 20-08 15:21

Uiligheid

alle gekheid op een stokje

Topicstarter
Btrieve is idd niet een van de simpelste, maar ja het moet gebeuren, en mag ook nog eens niks kosten..
Volgens mij moet het niet zo'n probleem zijn.

Als ik het doe met gekoppelde tabellen, dan werkt het idd ook wel, alleen daar wordt access zo langzaam van. Dus het liefst wil ik openen en sluiten..
Dezelfde code werkt zoals gezegd wel met access db...

Hmpf... Is er misschien iets bekend over algemene fouten ivm ADO + ODBC naar Btrieve? Heb ook al gepost op het forum van Btrieve... nog geen reactie gehad.

Zal het morgen eens proberen met een DAO, misschien dat dat werkt?

Ceterum censeo Carthaginem esse delendam


  • Uiligheid
  • Registratie: December 2000
  • Laatst online: 20-08 15:21

Uiligheid

alle gekheid op een stokje

Topicstarter
*schopje* , ben er nog steeds niet uit...
Heb een beetje lopen kutten met verschillende dsn types (file, system en machine) verschillende cursortypes (adStatic, adDynamic, adOpenKeySet en adForwardOnly)

noppes schijnt te werken..
Maar die kolere ODBC explorer die ik heb, die trekt hem binnen no-time leeg.. dat wil ik dus ook.

Ceterum censeo Carthaginem esse delendam

Pagina: 1