Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  MDB Zugriff

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:  MDB Zugriff (1027 mal gelesen)
CADesigner
Mitglied
Diplom-Ingenieur


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

Beiträge: 45
Registriert: 20.10.2003

erstellt am: 28. Jul. 2005 06:16    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,

ist es über Visual Lisp möglich Punkte in eine Acces.mdb Datei zu schreiben bzw. zu lesen????

Wenn Ja, kann mir jemand Beispiel-Code zusenden!

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

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


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

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 28. Jul. 2005 08:30    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 CADesigner 10 Unities + Antwort hilfreich

hab mir da mal was gebastelt
funktioniert zwar noch mit DAO und noch nicht mit ADOC, aber es funktioniert

so zu verwednen als Test

(setq dao (DaoInit))
(setq db (DaoOpenDb dao "d:\\test.mdb"))
(setq rs (DaoOpenRecordset db "select * from [Tabelle1] where [Spalte] = '5'"))
(while (not (DaoRsEof rs))
  (print (DaoRsGetField rs "Feldname"))
  (DaoRsMoveNext rs)
)
(DaoCloseRecordset rs)
(DaoCloseDb db)
(vlax-release-object dao)


und hier die Basis Bibliotheken

; Funktionen zu Zugriff auf Access Tabellen                                   

;------------------------------------------------------------------------------
; erstellen einer referenz auf dao.dbengine                                   
;------------------------------------------------------------------------------
(defun DaoInit ( / daoobj)
    (vl-load-com)
    (if (not (setq daoobj (vlax-get-or-create-object "DAO.DBENGINE.35")))
        (if (not (setq daoobj (vlax-get-or-create-object "DAO.DBENGINE.36")))
            (progn (alert "Cannot initialize DAO") nil)
            daoobj
        )
        daoobj
    )
)
;------------------------------------------------------------------------------
; Öffnen einer Access Datenbank                                               
;------------------------------------------------------------------------------
(defun DaoOpenDb ( DaoObj Db / )
  (try 'vlax-invoke (list daoobj "OPENDATABASE" db))
)
(defun DaoCloseDb (  Db / )
  (try 'vlax-invoke (list db "CLOSE"))
  (try 'vlax-release-object (list db))
)
;------------------------------------------------------------------------------
; Öffnen eines Recordsets                                                     
;------------------------------------------------------------------------------
(defun DaoOpenRecordset ( db query / )
  (try 'vlax-invoke (list db "OPENRECORDSET" query))
)
(defun DaoCloseRecordset ( rs / )
  (try 'vlax-invoke (list rs "CLOSE"))
  (try 'vlax-release-object (list rs))
)
;------------------------------------------------------------------------------
; EndOfFile                                                                   
;------------------------------------------------------------------------------
(defun DaoRsEof ( rs  / )
  (if (=  (try 'vlax-get-property (list rs "EOF")) :vlax-false) nil t)
)
;------------------------------------------------------------------------------
; Move Next                                                                   
;------------------------------------------------------------------------------
(defun DaoRsMoveNext ( rs / )
  (try 'vlax-invoke (list rs "MOVENEXT"))
)
;------------------------------------------------------------------------------
; Recordcount                                                                 
;------------------------------------------------------------------------------
(defun DaoRsRecordCount (rs / )
  (try 'vlax-get-property (list rs "RECORDCOUNT"))
)
;------------------------------------------------------------------------------
; rs.fields                                                                   
;------------------------------------------------------------------------------
(defun DaoRsGetField (rs name / fields field value )
  (cond ((and (setq fields  (try 'vlax-get-property (list rs "FIELDS")))
              (setq field  (try 'vlax-get-property (list fields "ITEM" name)))
)
(setq value  (vlax-get-property field "VALUE"))
(vlax-release-object fields)
(vlax-release-object field)
        (vlax-variant-value value)
)
(t nil)
  )
)
;------------------------------------------------------------------------------
; Testroutine ergibt nil im Fehlerfall ansonst den Rückgabewert der zu       
; testenden Funktion                                                         
; ist der Rückgabewert der Funktion auch im Erfolgsfall nil                   
; wird t zurückgegeben                                                       
;                                                                             
;  (try '+ (list 1 2 3 4 5 6))  ergibt 21                                     
;  (try '/ (list 5 0))          ergibt nil                                   
;------------------------------------------------------------------------------
(defun Try ( func arg / a1 a2 )
  (setq a2 (vl-catch-all-error-p  (setq a1 (vl-catch-all-apply func arg))))
  (cond (a2  nil)
(a1 a1)
(t t)
  )
)

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

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

CADesigner
Mitglied
Diplom-Ingenieur


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

Beiträge: 45
Registriert: 20.10.2003

erstellt am: 29. Jul. 2005 08:36    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,

ich kenne mich mit Datenbanken nicht so aus! Was ist die DAO ???
Muß da etwas installiert werden???
Kann man nicht einfach auf eine bestehende *.mdb aufsetzen. Meine damit diese öffnen un zu lesen bzw. zu schreiben?

Gibt es Literatur darüber ?

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

StefanW
Mitglied
Techniker


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

Beiträge: 147
Registriert: 17.04.2003

Civil 2018
BricsCAD V19

erstellt am: 29. Jul. 2005 09:00    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 CADesigner 10 Unities + Antwort hilfreich

Hallo CADesigner.

Unter dem Link http://www.fleming-group.com findest Du auch was zum Thema. Damit hab ich gute Erfahrungen gemacht.
Zudem: die 'Suche'-Funktion bringt bestimmt auch noch einiges, das Thema wurde hier schon oftmals diskutiert.
Aber eins muß Dir klar sein: Du mußt schon etwas tiefer in die Materie einsteigen, so mal schnell ne Datenbankanbindung is nich.

Gruß Stefan

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