[VB6]renseigner un recordset par le code source
Bonjour a tous,
mon probleme se trouve dans le sujet, mais je vais rentrer dans les détails.
En gros j'ai trois tables et je dois remplir la troisième table à partir des deux premieres. Le probleme c'est que pour une ligne de la troisième table j'ai une ligne de la deuxième et plusieurs de la premiere.
Pour eviter plein d'acces à la base de donnée, j'ia donc créé deux recordset qui vont pour l'un recuperer les infos de la table 1 et pour l'autre récuperer les infos de la table 2.
Pour simplifier la chose j'ai voulu renseigner le trosieme recordset à partir du code source pour n'avoir en tout et pour tout à la fin du traitement seulement acces à la BD.
D'apres ce que j'ai put trouver en glanant parci-parlà j'ai créé une fonction qui remplit les champs de mon recordset.
voici le code:
Code:
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
| **********************************************************
Public Function CreaRecordSet(rs As Recordset) As Boolean
Dim rs As Recordset
Set rs = New Recordset
Set rs = Nothing
'ajout des champs de la table ligbudcpt dans le recordset
rs.Fields.Append "budcp_four", adVarChar, 10
rs.Fields.Append "budcp_budg", adVarChar, 10
rs.Fields.Append "budcp_tiers", adVarChar, 10
rs.Fields.Append "budcp_budget", adVarChar, 2
rs.Fields.Append "budcp_priorite", adInteger
rs.Fields.Append "budcp_service", adVarChar, 10
rs.Fields.Append "budcp_numopl", adInteger
rs.Fields.Append "budcp_matr", adVarChar, 5
rs.Fields.Append "budcp_rubrique", adInteger
rs.Fields.Append "budcp_montant", adDouble
rs.Fields.Append "budcp_bulletin", adInteger
rs.Fields.Append "budcp_arrondi", adVarChar, 1
rs.Fields.Append "budcp_affcpt", adVarChar, 2
rs.Fields.Append "budcp_base", adDouble
rs.Fields.Append "budcp_taux", adDouble
'ouverture du recordset
rs.Open
rs.MoveFirst
end Function
*********************************************************** |
Je remplie ensuite ce recordset en utilisant ceci :
Code:
1 2 3 4 5 6 7 8 9 10
| ***********************************************************
rs.AddNew
rs!budcp_four = Trim(RsLienBud("lienbud_cpte_four"))
rs!budcp_budg = Trim(RsLienBud("lienbud_cpte_bud"))
rs!budcp_tier = Trim(RsLienBud("lienbud_cpte_tiers"))
rs!budcp_budget = budget
rs.update
************************************************************ |
le probleme c'est que des la déclaration des champs
( rs.Fields.Append "budcp_four", adVarChar, 10)
Visual Basic 6 plante et me dit "variable objet ou variable bloc with non définie"
Ma question est donc de savoir est ce que cette méthode fonctionne reellement ou on et si oui quelle(s) ets ou sont les erreurs que j'auraient put faire
d'avance merci
@++
dubidon