begin process at 2012 02 12 11:41:43
  Trouver un code source :
 
dans
 

14 commentaire(s) de allopeck sur des sources sur tout CodeS-SourceS

Déposé sur Autocad lt et dde

Bonjour,
Avez vous eu mon message?
Bonne journée
Posté le : 06/12/2007 10:32:24

Déposé sur Autocad lt et dde

Bonjour,
Alors est ce que pour vous ça marche ?
merci
Posté le : 04/12/2007 16:06:59

Déposé sur Autocad lt et dde

Au fait c bien ça pour le 2006 ?
chan = DDEInitiate("AutoCAD.r16.DDE", "System")
merci
Posté le : 25/11/2007 07:08:26

Déposé sur Autocad lt et dde

Bonjour,
Non il ne fallait pas changer de nom de variable pour régler le problème. C'est juste que cmd apparait avant la déclaration. Mais maintenant un autre porblème apparait : "Erreur d'excution 13 Incompatibilité de type. Set obj = Text1"
Est ce que ça marche avec la base que vous avez recrée? Si oui pouvez vous me l'envoyer par mail?

Posté le : 25/11/2007 07:06:14

Déposé sur Autocad lt et dde

Bonjour,
merci pour ce conseil en effet, le problème a disparu! Par contre sur la commande excuter j'ai toujours le même problème ::"erreur de compilation déclaration existante dans la portée en cours : cmd As String " que signifie cela ?
merci P.F
Posté le : 24/11/2007 15:44:59

Déposé sur Autocad lt et dde

Bonjour,
merci pour cette explication. Cela fonctionne trés bien. Mais une autre erreur est survenu : " Erreur d'excution '5'Argument ou appel de procédure incorrect"  AppActivate MyAppID, True;
et le bouton éxcuter me mets toujours la même erreur :"erreur de compilation déclaration existante dans la portée en cours : cmd As String " cela vient-il de l'erreur ci dessus ?
Merci beaucoup
Posté le : 22/11/2007 15:41:32

Déposé sur Autocad lt et dde

Bonjour,
Tout d'abord je vous dit un grand merci pour votre réponse. Mais j'aurai une autre question ! excusez moi mais je suis trés nul en VB et j'ai decouvert ce logiciel avec access il n'y a pas trés longtemps. J'ai modifié le code comme vous pouvez le voir ci dessus mais il ne me lance pas autocad erreur suivante :"  MyAppID = Shell("C:Program FilesAutoCAD 2006 Fraaclt.exe", 1)    ' Exécute AutocadLT" erreur d'excution '53' fichier introuvable.

et quand je lance excuter il met  erreur de compilation déclaration existante dans la portée en cours : cmd As String
Voila si vous pouviez me dire quel est le problème ?
merci
code dans access :

Option Compare Database
'liste des library                              nom           fichier référence
'v Microsoft DAO 3.6 Object library           : (DAO)         dao360.dll     (methode ancienne)
'
'v visual basic for applications              : (VBA)         vbe6.dll
'Import Microsoft Access 9.0 Object library        : (Access)      MSACC9.olb
'v Ole Automation                             : (stdole)      stdole2.tld
'v Microsoft Office 9.0 Object Library        : (Office)      MSO9.dll
'
'#########################################################
'cet exemple fonctionne avec une table "TableCommandesAcad"
'contenant 2 champs
'champs1 : ID (numauto)
'champs2 : CommandesAcad (string)
'#########################################################
'et un formulaire contenant 3 boutons
'Bouton1 : LancerAcad
'Bouton2 : Executer
'Bouton3 : Fermer
'#########################################################
'les enregistrements de la table:
'1 : proxynotice 0         'elimine boite de dialogue indésirable au démarrage. Les autres se désactivent par Outils / Option dans autocad
'2 : filedia 0             'demande ouverture de fichier en ligne
'3 : _open                 'ouverture
'4 : c: oto.dwg           'nom du fichier
'5 : filedia 1             'fin du mode ouverture de fichier en ligne
'6 : z et                  'zoom etendu

Private Sub executer_Click()
'Ouverture table en "DAO"
   Set obj = Text1
obj.LinkMode = 0
obj.LinkTopic = "AutoCAD.r16.DDE|System"
obj.LinkMode = 2
obj.LinkTimeout = 500
obj.LinkExecute cmd
    Dim nom_de_la_table_a_ouvrir As String
    nom_de_la_table_a_ouvrir = "TableCommandesAcad"
    'Ouverture champ correspondant à table en "DAO"
    Dim nom_du_champs_a_ouvrir As String
    nom_du_champs_a_ouvrir = "CommandesAcad"


    Dim cmd As String
    Dim chan
    
    'initialisation DDE Autocad v.14
    'chan = DDEInitiate("AutoCAD.r14.DDE", "System")

    'initialisation DDE Autocad LT
    chan = DDEInitiate("AutoCAD.r16.DDE|System")

    'initialisation DDE Autocad 2000,  2002 ou MAP
    'chan = DDEInitiate("AutoCAD.r15.DDE", "System")





Dim db As Database
Dim rs As DAO.Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset(nom_de_la_table_a_ouvrir)


'###lire une table "DAO"
rs.MoveFirst

Do Until rs.EOF
    '###execute commande puis ferme et ouvre liaison
    '###avant de passer à suivante
    cmd = RTrim(rs(nom_du_champs_a_ouvrir)) + Chr(13)
    DDEExecute chan, cmd
    DoEvents
    DDETerminate chan
    'chan = DDEInitiate("AutoCAD.r15.DDE", "System") 'Acad2000
    chan = DDEInitiate("AutoCAD.r16.DDE|System")   'Acad LT
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing

'###ferme liaison Autocad
    DDETerminate chan

End Sub
End Sub

Private Sub Fermer_Click()
On Error GoTo Err_Fermer_Click
    DoCmd.Close
Exit_Fermer_Click:
    Exit Sub
Err_Fermer_Click:
    MsgBox Err.Description
    Resume Exit_Fermer_Click
End Sub


Private Sub LancerAcad_Click()
  '3lignes pour lancer l'application DDE
    Dim MyAppID
    'MyAppID = Shell("C:Program FilesAutodesk Map 5 - Fraacad.exe", 1)    ' Exécute Autocad2000
    MyAppID = Shell("C:Program FilesAutoCAD 2006 Fraaclt.exe", 1)    ' Exécute AutocadLT
    '
    DoEvents
    AppActivate MyAppID, True
End Sub
Posté le : 22/11/2007 09:17:06

Déposé sur Autocad lt et dde

Bonjour,
voila j'ai repris ton code je l'ai collé dans un module.
J'ai crée les trois butons dans un formulaire. Et j'ai rempli le 2 champ de la table avec " circle 4,4 1.1" mais le problème c que j'ai le 2006 je ne sais pas ou vous trouvez les DDE .
Pouvez vous m'aider s'il vous plait ?
merci
Posté le : 21/11/2007 10:06:58

Déposé sur Supprimer les doublons d'une table (vba access)

PS : J'ai collé tout ceci dans un nouveau module d'access.
Posté le : 20/11/2007 06:59:15

Déposé sur Supprimer les doublons d'une table (vba access)

Bonjour,
J'ai un gros problème avec les doublons et j'ai trouvé ton code seulement je connais absolument rien en VB.
voila ce que j'ai écrit
Option Compare Database
Option Explicit
Dim tableau() As String
Dim typeChamps() As String
Private Sub Tb_Horaire_Enr_AVG()
    'initlise les tableaux
    ReDim tableau(0)
    ReDim typeChamps(0)
    
    'On écris les champs de la requête
    add "date"
    add "GPSX"
    add "GPSY"
    
    'Puis on enlève
    EneleverDoublons "Tb_Horaire_Enr_AVG"
    MsgBox "terminé"
End Sub


Private Sub add(champ As String, Optional typ As String = "")
    If champ <> "date" Then
        ReDim Preserve tableau(UBound(tableau) + 1)
        ReDim Preserve typeChamps(UBound(typeChamps) + 1)
    End If
    tableau(UBound(tableau)) = champ
    typeChamps(UBound(typeChamps)) = typ
End Sub
Private Sub EneleverDoublons(table As String)
    Dim rst As Recordset
    Dim i As Integer
    Dim champs As String
    Dim where As String
    Dim valeur As String
    'On construit la requete
    For i = 0 To UBound(tableau)
        champs = champs & " , " & tableau(i)
    Next i
    champs = Mid(champs, 4)
        
    Set rst = CurrentDb.OpenRecordset("select count(*)," & champs & " from " & définitive & " GROUP BY " & champs & " having count(*) > 1")
    While Not rst.EOF
        where = ""
        valeur = ""
        For i = 0 To UBound(tableau)
            
            If typeChamps(i) = "bool" Then
                where = where & " and " & tableau(i) & " = " & IIf(rst(i + 1).Value, "true", "false")
                valeur = valeur & "," & IIf(rst(i + 1).Value, "true", "false")
            Else
                If IsNull(rst(i + 1).Value) Then
                    where = where & " and " & tableau(i) & " = null"
                    valeur = valeur & ",null"
                Else
                    where = where & " and " & tableau(i) & " = " & typeChamps(i) & rst(i + 1).Value & typeChamps(i)
                    valeur = valeur & "," & typeChamps(i) & rst(i + 1).Value & typeChamps(i)
                End If
            End If
        Next i
        where = Mid(where, 6)
        valeur = Mid(valeur, 2)
        CurrentDb.Execute "delete * from " & définitive & " where " & where
        CurrentDb.Execute "insert into " & définitive & " values(" & valeur & ")"
        rst.MoveNext
    Wend
End Sub
Voila j'ai une table avec quatre colonne sans clés primaire. et je ne dois jamais avoir 2 fois les même coordonnée pour 1 jour. donc mes trois première colonne sont "date" "GPSX" et "GPSY" ce que j'ai mis ci-dessus. Et le nom de ma table est définitive.
Problème lorque que je veux tester si cela fonction il me dit d'enregistrer le macro. Je mets un nom et aprés jai Sub lenomdumacro et endsub. Pouvez me guider pour faire fonctionner votre code ? sachant que je travaille sous access 2003.
Merci beaucoup, je suis ouvert à toute autre proposition pour supprimer mes doublons.
Bonne journée
Posté le : 20/11/2007 06:58:16

1 2


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,343 sec (4)

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