Page 1 sur 1

[R] Problème d'ajout de donnée dans un ficher access

Posté : ven. 16 avr. 2010 17:53
par Itachi31
Bonjour,

j'essai de rentrer des données dans un fichier access cependant j'ai une erreur au niveau du $objMS.Execute($SQL_query).

Voici le code que j'ai fait :

Code : Tout sélectionner

$objMS = ObjCreate("ADODB.Connection")
$objMS.Open ("Driver={Microsoft Access Driver (*.mdb)}; DBQ=Data\Consommable.mdb;")
$SQL_query = "insert into salle (Num_Salle,Imprimante,Categorie) values ('"&GUICtrlRead($ComboGestConsoSelectSalle)&"','"&GUICtrlRead($InputgestConsoNlleImp)&"','"&GUICtrlRead($ComboGestConsoCategorie)&"')"
$resultat = $objMS.Execute($SQL_query)
 
Quand je met une requête de type select, je n'ai pas d'erreur ...

D'où peut venir l'erreur?

Merci de votre aide.

Re: [..] Problème d'ajout de donnée dans un ficher access

Posté : ven. 16 avr. 2010 19:04
par Yogui
Perso j'utilise l'UDF _ADODB.au3 (sur le forum anglais) pour faire des inserts

exemple :

Code : Tout sélectionner

GUICtrlRead($InputgestConsoNlleImp
GUICtrlRead($ComboGestConsoCategorie
Dim $arrFieldsandValues[2][3] = [["Num_Salle", "Imprimante", "Categorie"],[GUICtrlRead($ComboGestConsoSelectSalle), GUICtrlRead($InputgestConsoNlleImp), GUICtrlRead($ComboGestConsoCategorie)]]
 _InsertRecords("salle", $arrFieldsandValues)
function insert

Code : Tout sélectionner

Func _InsertRecords($varTableName,$arrFieldsAndValues)
    If Not IsObj($objConnection) Then Return -1
    If Not IsArray($arrFieldsAndValues) Then Return -2
    For $y = 1 To UBound($arrFieldsAndValues)-1
        $strInsert = "INSERT INTO " & $varTableName & " ("
        $varFieldCount = UBound($arrFieldsAndValues,2)-1
        For $x = 0 To $varFieldCount
            $strInsert &= $arrFieldsAndValues[0][$x]
            If $x < $varFieldCount Then $strInsert &= ","
        Next
        $strInsert &= ") VALUES ("
        For $x = 0 To $varFieldCount
            $strInsert &= "'" & $arrFieldsAndValues[$y][$x] & "'"
            If $x < $varFieldCount Then $strInsert &= ","
        Next
        $strInsert &= ");"
        $objConnection.Execute($strInsert)
        If $errADODB.number Then
;~             If Msgbox(4+16+256,"Insert Record Error","Statement failed:" & @CRLF & $strInsert & @CRLF & @CRLF & "Would you like to continue?") <> 6 Then Return -3
        EndIf
    Next
    Return 1
EndFunc
j'espère ne pas avoir fait d'erreur de recopie :oops:

Re: [..] Problème d'ajout de donnée dans un ficher access

Posté : ven. 16 avr. 2010 21:36
par Itachi31
Excellent !! Ca fonctionne avec cet UDF !! Merci beaucoup !!!

Re: [..] Problème d'ajout de donnée dans un ficher access

Posté : ven. 16 avr. 2010 21:38
par Yogui
un petit R dans le premier message serai le bienvenu :) :mrgreen:

Re: [R] Problème d'ajout de donnée dans un ficher access

Posté : ven. 16 avr. 2010 21:45
par Itachi31
Oui je cherchais comment le mettre le R ... Merci encore !