begin process at 2012 02 17 01:13:47
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de Donnees

 > FONCTIONS INSERT UPDATE POUR ACCESS PROJET ADP

FONCTIONS INSERT UPDATE POUR ACCESS PROJET ADP


 Information sur la source



 Description

C'est sans doute bête mais j'ai eu des problèmes avec les accents sur mes requêtes INSERT et UPDATE avec la commande CurrentProject.Connection.Execute SQL ... bizarrement les accents disparaissaient.
J'ai donc construit ces 2 fonctions génériques avec l'objet ADO recordset, qui en principe est tout aussi souple que le langage SQL. leur syntaxes:
FN_INSERT( "table", "champ1", "valeur1, [...]) as boolean
FN_UPDATE( "table", "condition where", "champ1", "valeur1", [...]) as boolean

Source

  • ' insertion via objet ADO: Tablename = table de destination
  • ' InsertValues = (champ1, valeur1, champ2, valeur2, etc)
  • Public Function FN_INSERT(Tablename As String, ParamArray InsertValues() As _
  • Variant) As Boolean
  • Dim oRS As ADODB.Recordset, i As Long
  • 10 On Error GoTo FN_INSERT_Error
  • 20 Set oRS = New ADODB.Recordset
  • 30 oRS.Open Tablename, CurrentProject.Connection, adOpenStatic, _
  • adLockOptimistic
  • 40 With oRS
  • 50 .AddNew
  • 60 For i = LBound(InsertValues) To UBound(InsertValues) Step 2
  • 70 If Not IsEmpty(InsertValues(i + 1)) Then
  • 80 Select Case .Fields(InsertValues(i)).Type
  • Case adDate, adDBDate, adDBTime, adDBTimeStamp
  • 90 .Fields(InsertValues(i)).Value = _
  • CDate(Replace(InsertValues(i + 1), "'", ""))
  • 100 Case Else
  • 110 .Fields(InsertValues(i)).Value = InsertValues(i + 1)
  • 120 End Select
  • 130 End If
  • 140 Next i
  • 150 .Update
  • 160 .Close
  • 170 End With
  • 180 FN_INSERT = True
  • 190 Exit Function
  • FN_INSERT_Error:
  • 200 MsgBox "Error " & Err.Number & " (" & Err.Description & _
  • ") in Function FN_INSERT of Module mdSql", vbCritical
  • End Function
  • ' mise à jour via objet ADO: Tablename = table de destination
  • ' critère = clause where des enregistrements à modifier
  • ' InsertValues = (champ1, valeur1, champ2, valeur2, etc)
  • Public Function FN_UPDATE(Tablename As String, Critere As String, ParamArray _
  • InsertValues() As Variant) As Boolean
  • 10 On Error GoTo FN_UPDATE_Error
  • Dim oRS As ADODB.Recordset
  • Dim SQL As String, i As Long
  • ' si on a un nombre impair d'arguments InsertValues() :
  • ' le dernier (booléen) indique si on log ou pas les modifs
  • 30 SQL = "SELECT * FROM " & Tablename & " WHERE " & Critere
  • 40 Set oRS = New ADODB.Recordset
  • 50 oRS.Open SQL, CurrentProject.Connection, adOpenStatic, adLockOptimistic
  • 60 With oRS
  • 70 Do Until .EOF
  • 80 For i = LBound(InsertValues) To UBound(InsertValues) - 1 Step 2
  • 100 If Not IsEmpty(InsertValues(i + 1)) Then
  • 110 .Fields(InsertValues(i)).Value = InsertValues(i + 1)
  • 120 End If
  • 130 Next i
  • 140 .Update
  • 150 .MoveNext
  • 160 Loop
  • 170 .Close
  • 180 End With
  • 190 FN_UPDATE = True
  • 200 Exit Function
  • FN_UPDATE_Error:
  • 210 MsgBox "Error " & Err.Number & " (" & Err.Description & _
  • ") in Function FN_UPDATE of Module mdSql", vbCritical
  • End Function
' insertion via objet ADO: Tablename = table de destination
' InsertValues = (champ1, valeur1, champ2, valeur2, etc)
Public Function FN_INSERT(Tablename As String, ParamArray InsertValues() As _
    Variant) As Boolean
      Dim oRS As ADODB.Recordset, i As Long

10       On Error GoTo FN_INSERT_Error

20        Set oRS = New ADODB.Recordset
30        oRS.Open Tablename, CurrentProject.Connection, adOpenStatic, _
              adLockOptimistic
40        With oRS
50            .AddNew
60            For i = LBound(InsertValues) To UBound(InsertValues) Step 2
70                If Not IsEmpty(InsertValues(i + 1)) Then
80                    Select Case .Fields(InsertValues(i)).Type
                      Case adDate, adDBDate, adDBTime, adDBTimeStamp
90                        .Fields(InsertValues(i)).Value = _
                              CDate(Replace(InsertValues(i + 1), "'", ""))
100                   Case Else
110                       .Fields(InsertValues(i)).Value = InsertValues(i + 1)
120                   End Select
130               End If
140           Next i
150           .Update
160           .Close
170       End With
180       FN_INSERT = True

190   Exit Function
FN_INSERT_Error:
200       MsgBox "Error " & Err.Number & " (" & Err.Description & _
          ") in Function FN_INSERT of Module mdSql", vbCritical

End Function


' mise à jour via objet ADO: Tablename = table de destination
' critère = clause where des enregistrements à modifier
' InsertValues = (champ1, valeur1, champ2, valeur2, etc)
Public Function FN_UPDATE(Tablename As String, Critere As String, ParamArray _
    InsertValues() As Variant) As Boolean
10       On Error GoTo FN_UPDATE_Error

      Dim oRS As ADODB.Recordset
      Dim SQL As String, i As Long
      ' si on a un nombre impair d'arguments InsertValues() :
      ' le dernier (booléen) indique si on log ou pas les modifs
          
30        SQL = "SELECT * FROM " & Tablename & " WHERE " & Critere
40        Set oRS = New ADODB.Recordset
50        oRS.Open SQL, CurrentProject.Connection, adOpenStatic, adLockOptimistic
60        With oRS
70            Do Until .EOF
80                For i = LBound(InsertValues) To UBound(InsertValues) - 1 Step 2
                      
100                   If Not IsEmpty(InsertValues(i + 1)) Then
110                       .Fields(InsertValues(i)).Value = InsertValues(i + 1)
120                   End If
130               Next i
140               .Update
150               .MoveNext
160           Loop
170           .Close
180       End With
190       FN_UPDATE = True
          
200       Exit Function

FN_UPDATE_Error:

210       MsgBox "Error " & Err.Number & " (" & Err.Description & _
              ") in Function FN_UPDATE of Module mdSql", vbCritical
          
End Function




 Sources du même auteur

[OOBASIC] DIRLIST - FONCTION LISTE DES FICHIERS / RÉPERTOIRE...
FONCTION ENVOI DE MAIL PAR VBA SANS CLIENT LOCAL, PAR SERVEU...
Source .NET (Dotnet) STRUCTURE MATRICE : SURCHARGE DES OPÉRATEURS POUR LE CALCUL ...
Source avec Zip Source .NET (Dotnet) BIGINT! UNE STRUCTURE POUR SURCHARGER LES ENTIERS (LONG) SAN...
Source .NET (Dotnet) CALCUL DE NOMBRES COMPLEXES, À L'AIDE D'UNE STRUCTURE SIMPLE...

 Sources de la même categorie

Source avec Zip Source avec une capture BIEN ADMINISTRER LES ETUDIANTS ET LEURS CÔTES par okosa
Source avec Zip VBA EXEL GESTION DE PERSONEL NOUVEAU CONTRAT DE TRAVAI par oudlarbi
Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source .NET (Dotnet) MISAHORAIRE par MdelM
Source avec Zip Source avec une capture BASEDEDONNEES,GESTIONDEMALADES,DATABASSE par shadkitenge

 Sources en rapport avec celle ci

Source avec Zip DÉTECTEUR DE PROCÉDURES ET FONCTIONS INUTILISÉES par 8Tnerolf8
[ACCESS VBA] EXPORTER SQL VERS FICHIER PLAT (CSV, TXT OU AUT... par pifou25
CONTRÔLER LA SAISIE D'UN E-MAIL par Chrisd70
Source avec Zip Source avec une capture Source .NET (Dotnet) CONNECT TO MYSQL EN VB.NET par r_gabor
Source avec Zip Source avec une capture CONNECT TO MYSQL WITH VB6 par r_gabor

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Insert et update dans une table access. [ par gibea00 ] J'aimerais pouvoir faire des update et des insert dans un table access.  Es-ce que quelqu'un est en mesure me m'aider ?  J'ai un peu de difficulté à u requet insert update VB 2005 + Access [ par ssimou_06 ] je suis entrain de créer une application avec Vb 2005 et access veillez me donner le code de l'insertion et update . merci Fonction replace en VBA access [ par WrestlingMan ] Voila : j'ai un petit souci ! En effet, j'ai réalisé une requête d'insertion pour un formulaire de saisie de résultats de tests sportifs ! Le problème DataTable et access [ par narvis25 ] Bonjour,je developpe une appliaction sous vb.net qui est connectée à une base access.Je veux vider une table de la base , je vide donc la datatable co Update une base de données access avec un datagridview [ par lolmain ] Bonjour;S.V.P est ce que quelqu'un peut m'aidai a faire une update d'une base de données access (TableAdapter.Update()...) requete Update vb.net > access [ par scromania ] bonsoir, j'effectue une requete UPDATE 2010 SET 2010.TypeImage = '1', 2010.Designation = 'Assurance Habitation', 2010.ModeDePayement = 'Carte Bancai problème update [ par piou62 ] Bonjour, J'ai un soucis avec un update de base de donnée access. J'ai vu que CommandBuilder permettais de générer automatiquement la commande. J'ai d Comment utiliser la fonction insert d'un BindingSource [ par gppascal ] [^^happy13]Bonjour, Est-ce quelqu'un peut m'expliquer comment fonctionne la fonction insert d'un BingingSource car j'ai le message "Impossible d'insé Question difficile [ par tbbuim1 ] Bonjour à tous, J'ai tenté veinement de récupérer une valeur affichée dans une appli VB et de la mettre en critère dans une requête ACCESS. Je m'exp Windows Vista et Access [ par themagueri ] J'ai une base de données access 2000 qui marche bien sous windows XPmais sur windows vista, la même base fonctionne malproblèmes  :1) la fonction form


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales