IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Monitorer le résultat d'une requête INSERT


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    634
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 634
    Points : 361
    Points
    361
    Par défaut Monitorer le résultat d'une requête INSERT
    Bonjour,

    Je voudrais monitorer le résultat d'une requête insert d'une collection ADODB
    via la commande monrecordset.execute StrSql
    Par moment, la requête n'aboutie pas et je ne sais pas pourquoi
    Y a-t-il un moyen ?
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 554
    Points
    24 554
    Par défaut
    Bonjour,

    As-tu activé la trace dans le gestionnaire ODBC ?

    As-tu mis des options avec ta commande Execute ?

    Cordialement,

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    634
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 634
    Points : 361
    Points
    361
    Par défaut
    Voici mon code source :
    J'ai un problème aléatoire avec l'ajout d'un record dans GIPAVE et PICIND
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    Sub AS400()
    Dim oCnAS400 As New ADODB.Connection
    Dim oCnAccess As New ADODB.Connection
    Dim oRsAccess, oRsChange As New ADODB.Recordset
    Dim StrSql As String
    
    'Connexion à Access
    With oCnAccess
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "\\DATA1\SAV\Quotations SAV\DB\DB Gestion des Offres SAV.accdr"
    .Open
    'MsgBox .State
    End With
    
    'Connexion à AS400
    With oCnAS400
    .Provider = "IBMDA400"
    .ConnectionString = "Data Source=AS400;Catalog Library List=MEURAM;User Id=CLUSMAN;Password=OVER"
    .Open
    'MsgBox .State
    End With
    
    
    StrSql = "SELECT * FROM TblOffreEnt WHERE TblOffreEnt.oenumero =" & Me.oenumero
    Set oRsAccess = oCnAccess.Execute(StrSql)
    If Not (oRsAccess.BOF And oRsAccess.EOF) Then
    'Ajouter un record dans GIPAFG
    StrSql = "INSERT INTO MEURAM.GIPAFG ( ENR , MAJ, FLM, CONNAT, CONTYP, CONNUM, SER, AFFB, CLSC, GEO, PAY, CLCLI, CLUSI, NOM, TAX, REV, ACT, NATB, TYPB, DAC, DAP, DAM, CLSD, PLAN, REP )" & _
    " VALUES(" & "'005', " & _
    "'" & Format(Val(Day(oRsAccess!oedatenvoicde)), "00") & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Val(Year(oRsAccess!oedatenvoicde)) & "', " & _
    "'1', " & _
    "'1'" & ", " & "'7'" & ", " & "'" & oRsAccess!oenaff & "', " & _
    "'730', " & "'" & oRsAccess!oenumero & "', " & _
    "'W', " & "'" & Mid(oRsAccess!oenumcli, 1, 1) & "', " & _
    "'" & oRsAccess!oecodpays & "', " & _
    "'" & Mid(oRsAccess!oenumcli, 1, 5) & "', " & _
    "'" & Mid(oRsAccess!oenumcli, 6, 2) & "', " & _
    "'" & oRsAccess!oenomaff & "', " & _
    "'H.T', " & "'F', " & "'8', " & "'8', " & "'1', " & _
    "'" & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Val(Year(oRsAccess!oedatconfcde)) & "', " & _
    "'12" & Val(Year(oRsAccess!oedatenvoicde)) & "', " & _
    "'" & Format(Val(Month(oRsAccess!oedatliv)), "00") & Val(Year(oRsAccess!oedatliv)) & "', " & _
    "'" & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Val(Year(oRsAccess!oedatconfcde)) & "', " & _
    "'24', " & "'" & oRsAccess!oeresp & "'" & ")"
    oCnAS400.Execute StrSql
    'Ajouter un record dans GIPAVE
    StrSql = "SELECT * FROM TblChange WHERE TblChange.chdev =" & Chr(34) & Me.oedev & Chr(34)
    Set oRsChange = oCnAccess.Execute(StrSql)
    StrSql = "INSERT INTO MEURAM.GIPAVE ( CONNAT, CONTYP, CONNUM, AVE, DTE, MTV, MTD, CDV, CCREFD, CCREFC, CCAMJ, CCDTC, CCLANC )" & _
    " VALUES(" & "'1'" & ", " & "'7'" & ", " & "'" & oRsAccess!oenaff & "', " & "'00', " & _
    "'" & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Val(Year(oRsAccess!oedatenvoicde)) & "', " & FormatNumber(oRsAccess!oepxgen * oRsChange!chtaux, 2) & ", " & oRsAccess!oepxgen & ", " & "'" & oRsAccess!oedev & "', " & _
    "'" & Val(Year(oRsAccess!oedatconfcde)) & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & "', " & _
    "'" & Mid(oRsAccess!oerefcde, 1, 15) & "', " & _
    "'" & Val(Year(oRsAccess!oedatenvoicde)) & Format(Val(Month(oRsAccess!oedatenvoicde)), "00") & Format(Val(Day(oRsAccess!oedatenvoicde)), "00") & "', " & _
    "'" & Val(Year(oRsAccess!oedatconfcde)) & Format(Val(Month(oRsAccess!oedatconfcde)), "00") & Format(Val(Day(oRsAccess!oedatconfcde)), "00") & "', " & _
    "'1'" & ")"
    oCnAS400.Execute StrSql
    
    'Ajouter un record dans PICIND
    StrSql = "INSERT INTO MEURAM.PICIND ( AFF, NAT, TYP, SWI, IND, DDM )" & _
    " VALUES(" & "'" & oRsAccess!oenaff & "', " & "'1', " & "'7', " & "'I', " & "'00', " & "'" & Format(Val(Day(Now)), "00") & Format(Val(Month(Now)), "00") & Val(Year(Now)) & "')"
    oCnAS400.Execute StrSql
    'Ajouter un record dans GIPTAB01
    StrSql = "INSERT INTO MEURAM.GIPTAB01 ( CONNAT, CONTYP, CONNUM, AALIN, AASEQ, STDMAJ )" & _
    " VALUES(" & "'1', " & "'7', " & "'" & oRsAccess!oenaff & "', " & "'00000', " & "'C0000', " & "'" & Val(Year(Now)) & Format(Val(Month(Now)), "00") & Format(Val(Day(Now)), "00") & "')"
    oCnAS400.Execute StrSql
    End If
    oRsAccess.Close
    oRsChange.Close
    oCnAccess.Close
    oCnAS400.Close
    
    
    'Libération de la mémoire
    Set oCnAS400 = Nothing
    Set oCnAccess = Nothing
    End Sub

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 554
    Points
    24 554
    Par défaut
    Bonjour,

    Via ODBC il n'y a qu'une méthode coté client pour observer le déroulement des requêtes, il faut allez dans :
    Panneau de config/Outils d'administration/Source de données ODBC.
    Là il y a un onglet Traçage.

    Voir coté serveur (AS400) s'il existe le même dispositif, je ne doute pas de son existence.

    Enfin avec ta commande Execute il y a des paramètres qui peuvent améliorer les perfos et résoudre certains problèmes.

    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    et notamment ici :
    http://vb.developpez.com/bidou/recor...rappelado#LVII

    Ce n'est pas facile de répondre sur des problèmes aléatoires. Peut-être qu'il y a une astuce avec l'AS400, un truc à ne pas faire via ADO, un paramètre à utiliser (comme le dbseechanges de DAO)...

    Bref, je te souhaite bonne chance dans tes recherches n'hésite pas à nous informer de tes découvertes.

    Cordialement,

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2007, 17h42
  2. Réponses: 4
    Dernier message: 05/04/2005, 18h28
  3. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo