Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  AutoCAD VB muss auf Access warten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  AutoCAD VB muss auf Access warten (2321 mal gelesen)
JOLI
Mitglied
Professional Technical Engineer / CAX -PLM


Sehen Sie sich das Profil von JOLI an!   Senden Sie eine Private Message an JOLI  Schreiben Sie einen Gästebucheintrag für JOLI

Beiträge: 86
Registriert: 28.02.2002

Windows 2000/XP/Vista,Windows 7, 10
AutoCAD bis 2009, Inventor bis 2009,
MS Office alle Vesionen,
Agile PLM e6, Windchill
Creo UG Nx3 und NX5 MicroStation
Techdocpro
CADENAS Partsolution
Ansys

erstellt am: 24. Sep. 2007 14:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

ich habe eine Programm geschrieben was in Autocad eine Access Maske Startet, der Anwender hat nun einen Datensatz aus zuwählen und an Autocad einen Wert zu übergeben.

Läuft so weit ja Ok aber AutoCAD startet die Access Maske und wartet nicht bis aus Access die Daten übergeben Wurden.

Wie kann ich nun VB sagen es muss warten !?????

Sieht etwa so in AutoCAD aus aus:
Sub hole ()
        DoCmd.OpenForm Menue_name_load, acNormal ', , "DOCUMENT_ID = '*'", acFormEdit, acDialog
        MyAccess.Forms.Item(Menue_name_load).Controls("SatzSpeichern").Visible = True
        MyAccess.Forms.Item(Menue_name_load).Controls("ZurueckCAD").Visible = True
sub end

Nun wechsel alles zu Access und autoCAD ist fertig ! Sollte aber warten

Danke schon mal !

     

------------------
Grüße
Jörg Lipphardt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 28. Sep. 2007 15:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JOLI 10 Unities + Antwort hilfreich

Hallo Jörg,

überleg dir noch mal genau ob AutoCAD(VBA) wirklich warten soll. Wenn dein Anwender nicht versteht was zu tun ist ist AutoCAD blockiert.

Wenn es wirklich warten soll kannst du mit im Access Formular die Eigenschaft TAG mit dem Wert "WAIT" oder auch "LIEBE_OMA" befüllen. Diese Eigenschaft fragst du in einer Schleife ab. Solange hier dein Wert drin ist hat der Benutzer nichst gemacht. Im Eventhandler des Accessformulars löschst du die TAG Eigenschaft wenn der Benutzer das gemacht hat was er sollte.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RalphRX8
Mitglied
Kontruktionsbüro


Sehen Sie sich das Profil von RalphRX8 an!   Senden Sie eine Private Message an RalphRX8  Schreiben Sie einen Gästebucheintrag für RalphRX8

Beiträge: 333
Registriert: 17.11.2004

erstellt am: 29. Sep. 2007 10:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JOLI 10 Unities + Antwort hilfreich

Hallo Jörg, 

doch noch vom lispeln abgekommen? Wir kennen uns geschäftlich. Ich sage nur GM-Doku.
War schon mal bei Euch im Haus.

Stelli1, ich glaube Joli hat ein anderes Problem. Wenn ichs richtig verstanden habe, bekommt er ein leeres Datenfeld von Access, obwohl er eines mit wählbaren Werten bekommen sollte, bzw. möchte.

Schon mal überlegt die Daten aus dem Access übers VBA ins AutoCAD zu holen und selbst ein Eingabeformular in VBA zu gestalten?
Dann hast Du meiner Meinung nach die ganze Sache besser im Griff.
(Ist auch nicht sonderlich problematisch, da VBA auch mit den wichtigsten SQL-Begriffen umgehen kann)

Ein weiterer Tip wäre, ich weiß nur nicht obs so sinnvoll ist, vom AutoCAD aus ein Makro in Access zu starten, welches wiederum nach öffnen des Datenfeldes die Kontrolle an AutoCAD übergibt.

Ansonsten müsstest Du glaube ich den Ablauf und die Verwendung genauer beschreiben.

Viele Grüße aus Leipheim
Ralph

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

JOLI
Mitglied
Professional Technical Engineer / CAX -PLM


Sehen Sie sich das Profil von JOLI an!   Senden Sie eine Private Message an JOLI  Schreiben Sie einen Gästebucheintrag für JOLI

Beiträge: 86
Registriert: 28.02.2002

Windows 2000/XP/Vista,Windows 7, 10
AutoCAD bis 2009, Inventor bis 2009,
MS Office alle Vesionen,
Agile PLM e6, Windchill
Creo UG Nx3 und NX5 MicroStation
Techdocpro
CADENAS Partsolution
Ansys

erstellt am: 01. Okt. 2007 08:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo
leider schein ich mich etwas Dumm  ausgedrückt zu haben.

Nochmal ein Versuch:
ich starte einen Befehl um in meine Minizeichnungsverwaltung eine neue Zeichnung zu laden
Der Befehl geht in AUtoCAD VBA und Startet Access dort geht eine Maske auf. Ab diesem Moment übernimmt Access VBA die Kontrolle und AutoCAD arbeitet weiter.
Der Anwender kann nun in AutoCAD und ACCESS machen was er will. An dieser Stelle möchte ich eigendlich, dass der Anwender in Access eine Zeichnung wählt und diese dann an in AutoCAD öffnet. (Oder der Schnittstelle sagt, ich will doch keine laden !)
Genau dazu wäre es sinnvoll einen "Hold" einzubauen, aber wie !

Zur Zeit (als alter Lispler, was ich nicht aufgebe) habe ich eine Schleife eingebaut, die auf eine Datei die ich im Access erzeugen lasse , wartet. Nun ist es teilweise so, dass ich doch da tool beenden möchte und mein Abbruch kriterium nicht tut (was regelbar ist). Viel schlimmer ist Access brauch einfach ein paar tausenstel um die Datei zu schreiben, Autolisp erkennt sie aber schneller und findet teilweise eine leere Datei was zu Übergabeproblemen führt. Ein direkter GO Befehl wäre da sicherer !

Ich hoffe nun kann man mein Problem verstehen (Ein Übergabewert von Access nach AutoCAD VBA wäre auch OK , oder natürlich direkt nach Lisp)!!!!  


Bitte Fragt, wenn ich mich immer noch nicht klar asdrücken konnte !!!! 

Bis bald

------------------
Grüße
Jörg Lipphardt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stelli1
Moderator
Verm.-Ing.


Sehen Sie sich das Profil von Stelli1 an!   Senden Sie eine Private Message an Stelli1  Schreiben Sie einen Gästebucheintrag für Stelli1

Beiträge: 1521
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 01. Okt. 2007 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für JOLI 10 Unities + Antwort hilfreich

Hallo Jörg,

ich meine du hast doch den Lösungsansatz. In einen vorherigen Thread war doch die Frage wie Access angesteuert wird. Da gabs ein Beispiel

Zitat:

    If Err.Number <> 0 Then
        MsgBox "Keine Datenbank gefunden. Lade ...", , "Start MDB"
        On Error GoTo 0
        Set MyAccess = CreateObject("access.application")
        MyAccess.OpenCurrentDatabase "C:\Temp\db1.mdb"
        MyAccess.Visible = True
    End If
    On Error GoTo 0
    ''' Aufruf über Access Modul
    MyAccess.Run "openform", "Formular1" 
    ''' Direkter Aufruf
    MyAccess.DoCmd.OpenForm "Formular1", acNormal, , , , acWindowNormal

    MsgBox "Ergebnis:" & MyAccess.Run("addiere", 12, 20)
   
    MyAccess.Forms.Item("Formular1").Caption = "HALLO, geöffnet von AutoCAD"



Hier war ein Hinweis das man die Eigenschaften (TAG) eines Formulars sowohl in AutoCAD als auch in Access einstellen kann.
Damit hast du die Lösung doch. Du kannst sogar den Zeichnungsnamen mit übergeben und die Zeichnung nach der Warteschleife laden.

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz