| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Access Daten in acad einlesen (1239 mal gelesen)
|
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 15. Mrz. 2002 16:07 <-- editieren / zitieren --> Unities abgeben:
|
kadirozen Mitglied Projektleiter
Beiträge: 30 Registriert: 13.07.2023 AutoCAD LT 2024
|
erstellt am: 19. Sep. 2023 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
|
Archäologie Bubi Mitglied Archäologische Funddokumentation
Beiträge: 64 Registriert: 09.03.2021 AutoCAD Map 3D 2013 AutoCAD Map 3D 2023 AutoCAD Map 3D 2024 Faro AS-Built / TachyCAD BricsCAD V18 Elcovision ElTheo Agisoft Photoscan Agisoft Metashape Professional 1.7 Agisoft Metashape Professional 2.0
|
erstellt am: 19. Sep. 2023 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
Hallo Kadir Wenn ich mich recht erinnere gibt es von der FlemmingGroup das ADOLisp Bundle mit dem auf diverse Datenbanken zugegriffen werden kann. Hatte bei mir aufgrund von Treiberregulierungen im Staatsbetrieb nie Funktioniert. Für Access greife ich daher, wie auch bei Excel, über ein Application-Objcet darauf zu. Ab da dann weiter mit SQL deine Abfragen bauen. Ist schon ne weile her seit ich das zuletzt gemacht habe, bin also nicht mehr ganz in der Materie. Hier als Beispiel meine Abfrage: Code: ;;; --==*==-- ------------------------------------------------- --==*==-- --=={ ABBS }==-- --==*==-- ------------------------------------------------- --==*==-- ;;; ;;; Befehl: GetAccData ;;; Zweck: Access Handler für den Zugriff auf die Datenbank und abfragen der Daten per SQL Befehl ;;; Funktionen: Keine Unterfunktionen ;;; Autor: Fabian Bubendorf / Archäologische Bodenforschung Basel-Stadt ;;; URL: https://forums.autodesk.com/t5/net/how-to-connect-to-dao-library-through-visual-lisp-functions/td-p/9326216 ;;; Datum: 2022/August ;;; Argumente: AccFile --> Der komplette Pfad der Datenbank ;;; PlaNr --> Die Zeichnungsnummer ;;; Variablen: AccApp --> Ein Access.Application Objekt ;;; AccDB --> Ein Datenbank Objekt ;;; Data --> Ein Recordset Objekt, dann eine Liste mit den DB-Einträgen ;;; nData --> Die länge des Recordset ;;; Code: (defun GetAccData ( AccFile PlaNr / AccApp AccDB Data nData ) (if (findfile AccFile) (progn (setq AccApp (vlax-get-or-create-object "Access.Application") AccDB (vlax-invoke-method (vlax-invoke-method (vlax-get-property AccApp 'DBEngine) 'CreateWorkspace "AccessWorkspace" "Admin" "" '"" );end vlax-invoke-method 'OpenDatabase AccFile );end vlax-invoke-method Data (vlax-invoke-method AccDB 'OpenRecordset (strcat "SELECT Struktur, Bef_Nr FROM [Bef_Nr-Zeichnung] INNER JOIN [Bef_Nr-Journal] " "ON [Bef_Nr-Zeichnung].ID = [Bef_Nr-Journal].ID " "WHERE Zeichnung = '" PlaNr "' ORDER BY [Bef_Nr-Journal].Bef_Nr;" );end strcat );end vlax-invoke-method nData (vlax-get-property Data 'RecordCount) );end setq (if (> nData 0) (setq Data (vlax-safearray->list (vlax-variant-value (vlax-invoke-method Data 'GetRows nData) );end vlax-variant-value );end vlax-safarray->list );end setq (setq Data nil) );end if (vlax-invoke-method AccDB 'Close) );end progn );end if Data );end defun;;; --==*==-- ------------------------------------------------- --==*==-- --=={ ABBS }==-- --==*==-- ------------------------------------------------- --==*==-- ;;;
------------------
Bubi spiele, Bubi glücklich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 19. Sep. 2023 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
|