Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1130 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  requete alter sql vba, table non verouillée!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete alter sql vba, table non verouillée!!

n°1586257
alex_x8462
Posté le 13-07-2007 à 15:25:05  profilanswer
 

Bonjour à tous!! Je vous expose mon problème qui me pose bcp de problèmes!!!!! Je vous remercie d'avance!
 
Voici mon code:
 
'IMPORT COMPOSANTE VFE CORAIL DA, J'IMPORTE UN FICHIER TEXTE SOUS FORME DE TABLE
 
DoCmd.TransferText acImportDelim, "DA_CORAIL", "GL_TRN_DA", "D:\ACCOMPAGNEMENT_PEAGE\Fichiers utilitaires\Peage\Vfe\Composantes\VFE CORAIL\Reservation\DA\VFE_CORAIL_DA_20" + année + "_" + mois + ".csv", True
 
'JE LANCE UNE REQUETE QUI ME PERMET DE CLASSER PAR ODRE DECROISSANT MA TABLE PAR RAPPORT AU CHAMPS TrainJourHouat. LES CHAMPS ALPHANUMERIQUE APPARAISSENT EN PREMIER
 
chSQL = "SELECT GL_TRN_DA.TrainJourHouat, GL_TRN_DA.N°ligne FROM GL_TRN_DA ORDER BY GL_TRN_DA.TrainJourHouat DESC;"
Set rst = bds.OpenRecordset(chSQL)
 
J'EFFECTUE UNE BOUCLE WHILE QUI ME PERMET DE RETIRER LA PARTIE ALPHA D'UN CHAMPS ALPHANUMERIQUE GRACE A LA FONCTION VIRE_ALPHA. SI C'EST NUMERIQUE JE LANCE MA FONCTION. LE CHAMPS TrainJourHouat  EST DE TYPE TEXTE
 
do
    If Not (IsNumeric(rst(0))) Then
        resultat_new = vire_alpha(rst(0))
        ligne = rst(1)
        DoCmd.RunSQL "UPDATE GL_TRN_DA SET GL_TRN_DA.TrainJourHouat = '" + resultat_new + "' WHERE GL_TRN_DA.N°ligne='" + ligne + "';"    
   else
      exit do
   End If
rst.MoveNext
loop While Not rst.EOF
 
 
'IMPORT COMPOSANTE VFE CORAIL DRAG, J'IMPORTE UN FICHIER TEXTE SOUS FORME DE TABLE
 
DoCmd.TransferText acImportDelim, "DRAG_CORAIL", "GL_TRN_DRAG", "D:\ACCOMPAGNEMENT_PEAGE\Fichiers utilitaires\Peage\Vfe\Composantes\VFE CORAIL\Reservation\DRAG\VFE_CORAIL_DRAG_20" + année + "_" + mois + ".csv", True
 
'JE LANCE UNE REQUETE QUI ME PERMET DE CLASSER PAR ODRE DECROISSANT MA TABLE PAR RAPPORT AU CHAMPS TrainJourHouat.LES CHAMPS ALPHANUMERIQUE APPARAISSENT EN PREMIER
 
chSQL = "SELECT GL_TRN_DRAG.TrainJourHouat, GL_TRN_DRAG.N°ligne FROM GL_TRN_DRAG ORDER BY GL_TRN_DRAG.TrainJourHouat DESC;"
Set rst = bds.OpenRecordset(chSQL)
 
J'EFFECTUE UNE BOUCLE WHILE QUI ME PERMET DE RETIRER LA PARTIE ALPHA D'UN CHAMPS ALPHANUMERIQUE GRACE A LA FONCTION VIRE_ALPHA. SI C'EST NUMERIQUE JE LANCE MA FONCTION. LE CHAMPS TrainJourHouat  EST DE TYPE TEXTE
 
Do
    If Not (IsNumeric(rst(0))) Then
        resultat_new = vire_alpha(rst(0))
        ligne = rst(1)
        DoCmd.RunSQL "UPDATE GL_TRN_DRAG SET GL_TRN_DRAG.TrainJourHouat = '" + resultat_new + "' WHERE GL_TRN_DRAG.N°ligne='" + ligne + "';"
      else
         exit do
    End If
rst.MoveNext
Loop While Not rst.EOF
 
'IMPORT COMPOSANTE VFE CORAIL DRS, J'IMPORTE UN FICHIER TEXTE SOUS FORME DE TABLE
 
DoCmd.TransferText acImportDelim, "DRS_CORAIL", "GL_TRN_DRS", "D:\ACCOMPAGNEMENT_PEAGE\Fichiers utilitaires\Peage\Vfe\Composantes\VFE CORAIL\Reservation\DRS\VFE_CORAIL_DRS_20" + année + "_" + mois + ".csv", True
 
'JE LANCE UNE REQUETE QUI ME PERMET DE CLASSER PAR ODRE DECROISSANT MA TABLE PAR RAPPORT AU CHAMPS TrainJourHouat.LES CHAMPS ALPHANUMERIQUE APPARAISSENT EN PREMIER
 
chSQL = "SELECT GL_TRN_DRS.TrainJourHouat, GL_TRN_DRS.N°ligne FROM GL_TRN_DRS ORDER BY GL_TRN_DRS.TrainJourHouat DESC;"
Set rst = bds.OpenRecordset(chSQL)
 
Do
    If Not (IsNumeric(rst(0))) Then
        resultat_new = vire_alpha(rst(0)) 'utilisation incorreect de nul rst(0) renvoie nul, resultat new-> 27246
        ligne = rst(1)
        DoCmd.RunSQL "UPDATE GL_TRN_DRS SET GL_TRN_DRS.TrainJourHouat = '" + resultat_new + "' WHERE GL_TRN_DRS.N°ligne='" + ligne + "';"
    Else
        Exit Do
    End If
rst.MoveNext
Loop While Not rst.EOF
 
'JE TRANSFORME ENSUITE LES CHAMPS TEXTE DE MES 3 TABLE EN CHAMPS NUMERIQUE. CAR JE N'AI PLUS DE CHAMPS ALPHANUMERIQUE!!!
 
DoCmd.RunSQL "ALTER TABLE GL_TRN_DA Alter Column N°ligne Numeric;"
DoCmd.RunSQL "ALTER TABLE GL_TRN_DA Alter Column TrainJourHouat Numeric;"
DoCmd.RunSQL "ALTER TABLE GL_TRN_DRAG Alter Column N°ligne Numeric;"
DoCmd.RunSQL "ALTER TABLE GL_TRN_DRAG Alter Column TrainJourHouat Numeric;"
DoCmd.RunSQL "ALTER TABLE GL_TRN_DRS Alter Column N°ligne Numeric;"
DoCmd.RunSQL "ALTER TABLE GL_TRN_DRS Alter Column TrainJourHouat Numeric;"
 
'ET LA C'EST LE DRAME!!!  
 
il me dit "le moteur de la base de données n'as pas pu verrouillée la table 'GL_TRN_DRS" car elle est déjà utilisé par une autre personne ou un autre processus. J'ai cherché mais je ne toruve pas la solution.
Il plante sur la ligne DoCmd.RunSQL "ALTER TABLE GL_TRN_DRS Alter Column N°ligne Numeric;"
Je pensai au début que la table était "utilisé" dans la boucle do-while mais j'ai fait une msg box et je sors bien de la boucle avt que je lance l'alter, donc logiquement plus aucune requete ne travaille sur cette table! Je ne comprends pas!! De plus pouquoi ça plante sur cette ligne et non pas sur un alter précédent? Merci beaucoup pour votre patience, Cordialement, Alexandre.
 
 
 

mood
Publicité
Posté le 13-07-2007 à 15:25:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  requete alter sql vba, table non verouillée!!

 

Sujets relatifs
Script wsh, Focus sur application avec session vérouillée (mi-résolu)[MS SQL]faire un UPDATE sur plusieur table en meme temps
requete delete avec un MINAide pour créér une requete pour un regroupement
pb requete mysql[resolu]utiliser les enregistrements d'une table Access en VBA
[Access] Mettre une valeur dans une zone de texte venant d'une table ?[SQL et PHP] Relier des données dans une table
Requete UPDATE et parcourt de fichier[Access] Formulaire - Table intermédiaire et champs multiselections
Plus de sujets relatifs à : requete alter sql vba, table non verouillée!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR