Je rencontre des problèmes pour obtenir l'opération GetNextExtended (36) fonctionnant dans Btrieve. Voici l'appel qui renvoie le code d'état 62:Btrieve GetNextEtendu Statut 62
intStatus = BTRCALL(B_GETNEXTEXTENDED, _
m_byteFilePosBlk, _
m_byteRecordBuffer(0), _
lngDataBufferLen, _
ByVal strKeyBuffer, _
intKeyBufferLen, _
m_intKeyNum)
Après avoir fait une recherche pour le code que je trouve de nombreux sites indiquant que le code indique une erreur dans le DataBuffer, stocké dans m_byteRecordBuffer. Voici les valeurs stockées dans cette variable:
m_byteRecordBuffer(0) 16 'These two bytes indicate the total size of'
m_byteRecordBuffer(1) 0 'data buffer'
m_byteRecordBuffer(2) 67 'These two bytes indicate the characters 'UC''
m_byteRecordBuffer(3) 85
m_byteRecordBuffer(4) 0 'These two bytes indicate the maximum reject'
m_byteRecordBuffer(5) 0 'count, which if set to 0 defaults to 4,095'
m_byteRecordBuffer(6) 0 'These two bytes indicate the number of terms'
m_byteRecordBuffer(7) 0 'which has been set to zero'
m_byteRecordBuffer(8) 1 'These two bytes indicate the number of'
m_byteRecordBuffer(9) 0 'records to return'
m_byteRecordBuffer(10) 1 'These two bytes indicate the number of fields'
m_byteRecordBuffer(11) 0 'to extract'
m_byteRecordBuffer(12) 2 'These two bytes indicate the length of the'
m_byteRecordBuffer(13) 0 'field to extract'
m_byteRecordBuffer(14) 1 'These two bytes indicate the field offset'
m_byteRecordBuffer(15) 0
J'espère que je manque juste quelque chose de simple. Toute aide serait grandement appréciée.
Si vous n'avez aucun terme de filtre et obtenez un seul enregistrement, ne pouvez-vous pas simplement utiliser le GETNEXT normal au lieu GETNEXTEXTENDED ? Dans le tampon d'enregistrement, essayez d'échanger la position des caractères UC. Mettez 'U' (85) dans la position 2 et 'C' (67) dans la position 3. – Anna
Les termes ont été exclus temporairement pour simplifier le processus de débogage. Merci pour la suggestion, je vais certainement essayer. – jakdep