| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Access Daten in acad einlesen (1479 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: 31 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: 68 Registriert: 09.03.2021 AutoCAD Map 3D 2024 / Raster Design AutoCAD Map 3D 2025 Faro AS-Built / TachyCAD 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: 2862 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
|