OVH Cloud OVH Cloud

FindFirst sur recordset

1 réponse
Avatar
Michel
Bonjour à tous,

Voici un bout de code qui fonctionnait bien avec un autre table... En
modifiant la structure de ma base de donnée, J'ai scindé la première table
pour concerver et surtout respecter l'intégrité référentiel des données...

Soit je lis un fichier texte pour en ressortitr les données et les placées
dans ma base de donnée... Je fais une première vérification dans la table
"TestVsF" si la Session n'a pas été lue encore (findfirst et nomatch). Bien
sur le champs "Session" est indexé avec doublons.

Donc je lis les lignes les lignes jusqu'à la ligne qui contient "SessionID".
J'en extrais le numéro de la session et le passe à la fonction
fCurrent.FindFirst (LaDate) (EX.: LaDate= "Session='673'").

J'obtiens un message d'erreur #3251: Opération non autorisée pour ce type
d'objet.

Quelques suggestions!!!???

Merci à l'avance

Set dbsCurrent = CurrentDb
Set tbCurrent = dbsCurrent.TableDefs![TubVsF]
Set rsdCurrent = tbCurrent.OpenRecordset
Set tfCurrent = dbsCurrent.TableDefs![TestVsF]
Set fCurrent = tfCurrent.OpenRecordset
Open SSNfile For Input As #1
i = 1
x = 1
Debug.Print SSNfile, i
Do While Not EOF(1)
PasOK = True
Line Input #1, Ligne
Debug.Print Ligne, i
If InStr(Ligne, "SessionID") <> 0 Then
TxtL = InStr(Ligne, "=")
SessionID = Mid(Ligne, TxtL + 1)
Debug.Print Ligne, SessionID, "TxtL= "; TxtL
LaDate = "Session='" & SessionID & "'"
Debug.Print LaDate
fCurrent.FindFirst (LaDate)
If Not fCurrent.NoMatch Then ...
... ....

Michel

1 réponse

Avatar
Michel
Bonjour,
Ajout du type dbOpenDynaset et tout fonctionne

Set fCurrent = tfCurrent.OpenRecordset(dbOpenDynaset)


Je sais que quelqu'un m.a répondue et je peux voir de la maison!!"//!##

Merci beaucoup pour la lumière!!!

Michel
"Michel" a écrit dans le message de news:
NF9hf.26880$
Bonjour à tous,

Voici un bout de code qui fonctionnait bien avec un autre table... En
modifiant la structure de ma base de donnée, J'ai scindé la première table
pour concerver et surtout respecter l'intégrité référentiel des données...

Soit je lis un fichier texte pour en ressortitr les données et les placées
dans ma base de donnée... Je fais une première vérification dans la table
"TestVsF" si la Session n'a pas été lue encore (findfirst et nomatch).
Bien
sur le champs "Session" est indexé avec doublons.

Donc je lis les lignes les lignes jusqu'à la ligne qui contient
"SessionID".
J'en extrais le numéro de la session et le passe à la fonction
fCurrent.FindFirst (LaDate) (EX.: LaDate= "Session='673'").

J'obtiens un message d'erreur #3251: Opération non autorisée pour ce type
d'objet.

Quelques suggestions!!!???

Merci à l'avance

Set dbsCurrent = CurrentDb
Set tbCurrent = dbsCurrent.TableDefs![TubVsF]
Set rsdCurrent = tbCurrent.OpenRecordset
Set tfCurrent = dbsCurrent.TableDefs![TestVsF]
Set fCurrent = tfCurrent.OpenRecordset
Open SSNfile For Input As #1
i = 1
x = 1
Debug.Print SSNfile, i
Do While Not EOF(1)
PasOK = True
Line Input #1, Ligne
Debug.Print Ligne, i
If InStr(Ligne, "SessionID") <> 0 Then
TxtL = InStr(Ligne, "=")
SessionID = Mid(Ligne, TxtL + 1)
Debug.Print Ligne, SessionID, "TxtL= "; TxtL
LaDate = "Session='" & SessionID & "'"
Debug.Print LaDate
fCurrent.FindFirst (LaDate)
If Not fCurrent.NoMatch Then ...
... ....

Michel