Récupérer recordset formulaire dans un état

yves 2008 -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous

J’ai un problème pour récupérer les recordset dans un état
Tous ce qui est en gras sont les recordset à envoyer à l’état pour la fabrication d’une lettre de remerciment
Sur le formulaire il y a juste un bouton pas de textbox ou de champs

merci d'avance
Voici le code :

Private Sub Commande0_Click()

Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet

Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("C:\don.xls")
Set oWSht = oWkb.Worksheets("Feuil1")
'premier ligne ou tu commence ton import
i = 1
'tant que la cellule n'est pas vide
While oWSht.Range("A" & i).Value <> ""
'condition de remplissage de la table => eviter les doublons
'si l'enregistrement existe déjà dans la table destination,
'on passe à la ligne suivante sans l'importer
If oWSht.Cells(i, 10) = "oui" Then
'le numéro 6 correspond au numéro de la colonne source, tel que : A=1, B=2, C=3 ...
If DCount("[Nom]", "Listemembreartc", "[Nom] LIKE '" & DoubleQuote(oWSht.Cells(i, 3)) & "'") = 0 Then
Dim tClient As Recordset
Set bd = CurrentDb
Set tClient = bd.OpenRecordset("Listemembreartc", dbOpenDynaset)
Set tdon = bd.OpenRecordset("DON", dbOpenDynaset)
tClient.AddNew
tClient![Code Membre] = "don"
tClient![Nom] = oWSht.Cells(i, 3)
tClient![Civilité] = oWSht.Cells(i, 2)
tClient![Adresse_1] = oWSht.Cells(i, 4)
tClient![Adresse_3] = oWSht.Cells(i, 5)
tClient![Téléphone] = oWSht.Cells(i, 6)
tClient![Email] = oWSht.Cells(i, 7)
tClient![Commentaire] = oWSht.Cells(i, 9)

tClient.Update
nocli = DLookup("clef", "Listemembreartc", "[Nom] LIKE '" & DoubleQuote(oWSht.Cells(i, 3)) & "'")
tdon.AddNew
tdon![Clef] = nocli
tdon![montantdon] = oWSht.Cells(i, 8)
tdon![Datedon] = oWSht.Cells(i, 1)

DON = DLookup("Nom", "Listemembreartc", "[Nom] LIKE '" & DoubleQuote(oWSht.Cells(i, 3)) & "'")
tdon.Update
DoCmd.OpenReport "impri", acPreview, , "[Nom ] = " & tClient![Nom] & ""

Else
'quand le client existe déjà, on récupère la valeur de son NumCli
Set bd = CurrentDb
Set tdon = bd.OpenRecordset("DON", dbOpenDynaset)
tdon.AddNew
nocli = DLookup("clef", "Listemembreartc", "[Nom] LIKE '" & DoubleQuote(oWSht.Cells(i, 3)) & "'")
tdon![Clef] = nocli
tdon![montantdon] = oWSht.Cells(i, 8)
tdon![Datedon] = oWSht.Cells(i, 1)
DoCmd.OpenReport "impri", acPreview, , "tdon![Clef]"
tdon.Update

End If

End If
i = i + 1
Wend
ThisWorkbook.Close True

3 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour,

Pas sûr de moi, mais j'aurais mis un point plutôt d'un point virgule...
0
yves 2008
 
merci de vous interrsse a mon code
c'est a dire dans quel parti du code ?
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Effectivement!, Excuses moi

ici
tClient![Code Membre] = "don"
tClient![Nom] = oWSht.Cells(i, 3)
tClient![Civilité] = oWSht.Cells(i, 2)
tClient![Adresse_1] = oWSht.Cells(i, 4)
tClient![Adresse_3] = oWSht.Cells(i, 5)
tClient![Téléphone] = oWSht.Cells(i, 6)
tClient![Email] = oWSht.Cells(i, 7)
tClient![Commentaire] = oWSht.Cells(i, 9)

et ici

tdon![Clef] = nocli
tdon![montantdon] = oWSht.Cells(i, 8)
tdon![Datedon] = oWSht.Cells(i, 1)
DoCmd.OpenReport "impri", acPreview, , "tdon![Clef]"

0