salut
J'ai deux fonctions l'une permettant la création d'une requête et l'autre sa suppression.
or lorsque je veux créer ma requête la fonction me renvoie qu'elle existe déjà alors je souhaite la supprimer et la impossible de trouver la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub CreerRequete(Nom As String, SQL As String) Dim MaCom As New ADODB.Command Dim MCat As New ADOX.Catalog Set MCat.ActiveConnection = CurrentProject.Connection MaCom.CommandText = SQL MCat.Procedures.Append Nom, MaCom Set MCat = Nothing Set MaCom = Nothing End SubD'où peut provenir mon pb.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub SupprimerRequete(Nom As String) On Error GoTo err Dim MCat As New ADOX.Catalog Set MCat.ActiveConnection = CurrentProject.Connection MCat.Procedures.Delete (Nom) Exit Sub err: If err.Number = 3265 Then MsgBox "Impossible de trouver la requête " & Nom & "!!!" End Sub
voici le programme principal
[code]
Sub Commande36_Click()
On Error GoTo Err_Commande36_Click
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim connex As ADODB.Connection
Dim recset As ADODB.Recordset
Dim MonSQL As String
Dim requete As String
Dim strsortie As Integer
Dim stDocName As String
Dim variable As String
MonSQL = "SELECT Count([change_control].[num_change])AS nb_date FROM change_control WHERE year([change_control].[date_demande])=" & Year(date_dem) & "And month([change_control].[date_demande])=" & Month(date_dem) & "And day([change_control].[date_demande])=" & Day(date_dem) & "And ([change_control].[num_atelier])='" & num_at & "';"
Set connex = CurrentProject.Connection
Set recset = New ADODB.Recordset
recset.Open MonSQL, connex
strsortie = recset.Fields("nb_date")
If strsortie = 0 Then
num_change = num_atelier & "/" & Year(date_dem) & "" & Month(date_dem) & "" & Day(date_dem) & "/"
Else
strsortie = strsortie + 1
num_change = num_atelier & "/" & Year(date_dem) & "" & Month(date_dem) & "" & Day(date_dem) & "/" & strsortie
End If
recset.Close
variable = num_change
num_lot = Replace(num_lot, " ", "")
connex.Close
Set connex = Nothing
Set recset = Nothing
DoCmd.GoToRecord , , acNewRec
MsgBox " Enregistrement du formulaire change control réussi avec succès !!!"
'-------------- impression -----------------------------------------------------
requete = "SELECT DISTINCTROW [change_control].[num_change], [change_control].[num_atelier], [change_control].[date_demande], [change_control].[nom_initiateur], [atelier].[nom_resp], [change_control].[nom_produit], [change_control].[code], [change_control].[num_lot], [change_control].[description], [change_control].[raison] FROM atelier INNER JOIN change_control ON [atelier].[num_atelier]=[change_control].[num_atelier] WHERE [change_control].[num_change]='" & variable & "';"
CreerRequete "req_etat_change", requete
stDocName = "etat_change_control"
DoCmd.OpenReport stDocName, acPreview
MsgBox " La demande de change control a bien été imprimée !!!"
SupprimerRequete "req_etat_change"
'-------------------------------------------------------------------------------
Exit_Commande36_Click:
Exit Sub
Err_Commande36_Click:
MsgBox err.description
Resume Exit_Commande36_Click
End Sub
[/code]
merci de votre aide.








Répondre avec citation




Partager