1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| ' On déclare un tableau de chaine de caractère qui contiendra les
' valeurs que tu veux insérer dans ta table
Dim strChaines(n) As String ' Je ne suis pas sur de toute la syntaxe,
' présentement, je n'ai pas VB6
' Pour la boucle
Dim verif As Boolean
' Pour récupérer le numéroAuto de la table
Dim indexTable As Integer
' Puis on déclare 2 recordsets
Dim rst1 As RecordSet
Dim rst2 As RecordSet
' Et finalement, une chaine de requete
Dim maRequete As String
' Initialisation
verif = False
strChaines(0) = "maValeur1"
strChaines(1) = "maValeur2"
...
' Tu effectues ta première requête en utilisant la chaine de connexion
maRequete = "SELECT * FROM tablePourLeInsert"
rst1.Open maRequete 'Je ne me rappelle plus trop la syntaxe
' Ensuite tu fais ton INSERT en te servant des champs entrés dans le tableau
' Cela je ne me rappelle vraiment plus la syntaxe...désolé
' Puis tu effectues ta requête 2 qui est exactement la même que la 1 mais
' après le INSERT
rst2.Open maRequete 'Je ne me rappelle plus trop la syntaxe encore
' On se déplace sur les derniers enregistrements des 2 requêtes
rst1.MoveLast
rst2.MoveLast
' On vérifie l'écart entre les index (numéroAutos de la table)
If(rst2(0) - rst1(0) = 1) Then ' Alors aucune requête n'a été effectuée entre
' temps
indexTable = rst2(0)
Else ' C'est là qu'il peut y avoir un problème
While (verif = False)
If (rst2(0) = strChaines(0) And rst2(1) = strChaines(1)) Then
' And ... pour tous les champs
' C'est sur que tu peux remplacer par une boucle... je viens d'y
' penser... tu te sers d'un compteur de champs correspondants...
verif = True
indexTable = rst2(0)
Else
' Il ne faut pas négliger la possibilité que plusieurs INSERT aient été
' faits entre tes requêtes
rst2.MoveBack
End If
Wend
End If
...
' D'autre code que tu voudrais p-e effectuer |
Partager