mit anderen Programmen, Dateien, Schnittstellen | |
| 8.1 Datei-Auswahl-Dialog | 8.6 Access-DB im Internet |
| 8.2 Serielle Schnittstelle ansprechen | 8.7 Import fremder Formate |
| 8.3 Barcodes | 8.8 Access und Oracle |
| 8.4 Telefon | 8.9 Access und MySQL |
| 8.5 Daten an Word übergeben | 8.10 Access und MS SQL-Server |
| 8.1 Datei-Auswahl-Dialog |
| www.donkarl.com?FAQ8.1 |
Problem
Du möchtest in Access ein Dialogformular verwenden um Dateien oder Verzeichnisse auszuwählen, wie es in den meisten Windows-Programmen z.B. zum Öffnen oder Speichern einer Datei üblich ist.
Lösung
Du kannst das Active-X-Objekt Common-Dialog von MS verwenden, das z.B. in der Office-Developer-Edition dabei ist. Das bereitet bei der Weitergabe aber oft Probleme mit den Verweisen.
Eine andere Variante (ab AX) ist die Verwendung des FileDialog-Objektes von Office (s. <F1>). In AX gibt's dabei aber keinen Speicher-Dialog.
s. http://support.microsoft.com/?kbid=282335
Mit A03 wurde das behoben.
Die beste Alternative ist ein Datei-Dialog, der direkt auf die Windows-API zugreift. z.B. "Common-Dialog" (auch für die Auswahl von Ordnern/Verzeichnissen) von Karsten Pries bzw. "Comdlg32-Ersatz" (auch für Schriftart und Farben) von Henry Habermacher. Alles zu finden bei den Downloads von http://www.dbdev.org .
| 8.2 Serielle Schnittstelle ansprechen |
| www.donkarl.com?FAQ8.2 | aktualisiert 2007-05-31 |
Problem
Du möchtest von Access aus die serielle Schnittstelle (RS232) ansprechen d.h. Daten lesen und/oder schreiben.
Lösung
Zur einfachen Kommunikation mit der seriellen Schnittstelle gibt es ein kostenloses ActiveX-Steuerelement von Richard Grier:
http://home.comcast.net/~hardandsoftware/xmcomm.htm
Von MS gibt es das MSComm32.oxc (wird z.B. mit VB6 mitgeliefert).
Es funktioniert mit Access, aber um dieses Steuerelement einsetzen zu können, benötigt man aber eine VB-Lizenz. Doku s.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/comm98/html/vbobjcomm.asp
Ansonsten ist zum Ansprechen der Schnittstelle aufwendiger API-Code notwendig.
Dafür gibt's Beispiellösungen und Texte von Thomas Steinhauer (für 16 und 32 Bit):
http://www.t-online.de/home/th-steinhauer
und von Peter Steimann:
http://www.accessprofipool.de
| 8.3 Barcodes |
| www.donkarl.com?FAQ8.3 | aktualisiert 2008-11-06 |
Problem
Du möchtest Barcodes in Access verwenden. Welche Soft- und Hardware ist dazu nötig? Welche Barcodes gibt es? Wo bekommt man sie?
Lösung
Im PC werden nur die Zahlen bzw. Texte, die im Code stecken, gespeichert.
In Access kannst du also ein Feld vom Typ Text oder Zahl zur Speicherung verwenden.
Es gibt verschiedene Varianten an Software:
Am einfachsten ist eine Truetypeschrift meist für Code 39.
z. B. bei http://www.adams1.com/pub/russadam/barcode1.html
Dort gibt's auch detaillierte Beschreibungen der Barcodes-Spezifikationen und vieles mehr über Barcodes.
Die gängigen Barcodes gibt es hier kostenlos (Fonts + VB-Beispiele):
http://grandzebu.net/informatique/codbar-en/codbar.htm
Freeware zum Druck von Code39-Labels in Berichten:
von Peter Steimann bei den Downloads von http://www.accessprofipool.de
von John Mercanti ("Barcode39.mdb") bei http://www.adams1.com/pub/russadam/plugins.html
Für komplexere Strichcodes wie z.B. EAN-Codes, gibt's ebenfalls jede Menge Software, aber in den meisten Fällen kostenpflichtig wie z.B.
http://www.tec-it.co.at/
Du brauchst ein Barcodelesegerät (Scanner). Ich verwende solche, die zwischen Tastatur und PC gesteckt werden. Es gibt sie aber auch für die serielle Schnittstelle. Diese Scanner wandeln den Strichcode in die Zahl um und geben diese an den PC weiter. Scanner gibt's z.B. bei www.strichcode.com u.v.a.
Zum Drucken kannst du normale Drucker oder spezielle Barcode-Drucker bzw. Etikettendrucker verwenden, die meist an der seriellen Schnittstelle hängen und in die man Rollen mit Etiketten lädt. Gibt's bei vielen Firmen wie Epson, Star usw.
Die Produktgruppe, unter der du Barcodeleser und -drucker findest, nennt sich POS (Point Of Sale).
Für weitere Firmen suche einfach mit "Barcode", "EAN" etc. bei der Suchmaschine deiner Wahl.
| 8.4 Telefon |
| www.donkarl.com?FAQ8.4 | aktualisiert 2008-11-28 |
Problem
Du möchtest aus Access heraus eine Telefonnummer wählen oder eine Telefonanlage steuern.
Lösung
Der Großteil dieses Artikels ist von Dieter Liessmann. Er ist daher der "ich" und "wir" in diesem Artikel. S.a. weitere Infos und Links zum Thema auf seiner Webseite http://www.topsolutions.de.
Es gibt verschiedene Möglichkeiten, die von 2 Faktoren abhängen:
- Nur wählen, oder auch kommende Anrufe überwachen.
- Welche Schnittstelle
Willst Du nur aus Access heraus wählen, ist die einfachste Möglichkeit die von MS:
http://support.microsoft.com/?kbid=148857 (API alle Versionen)
http://support.microsoft.com/?kbid=141625 (TAPI Access95-97)
http://support.microsoft.com/?kbid=837146 (TAPI Access2000-2003)
Willst Du den ComPort direkt ansprechen s. FAQ 8.2
Willst Du wählen, aber auch kommende Anrufe überwachen, musst Du entweder die CAPI (Common-ISDN-API, Softwareschnittstelle die mit allen ISDN-Karten mitgeliefert wird) oder die TAPI (Telefonie API, Softwareschnittstelle die mit einigen Kommunikationsendgeräten wie Telefonen, Modems, ISDN-Karten mitgeliefert wird) nutzen.
CAPI
IMO die beste und von mir getestete Möglichkeit ist der ISDN Monitor von Jörg Heuer. Das Teil ist einplatz- und netzwerkfähig, bezahlbar, guter Support, StandAloneProdukt und DDE-Server. Also kann man die Nummer des Anrufers in Access, Word, Excel auf einfachste Weise auslesen. Ein vielversprechendes Tool gibt's für ein paar Euro unter http://www.keiffenheim.com/iccm/ von mir nicht getestet.
TAPI
IMO die professionellste und flexibelste Lösung, da die TAPI Schnittstelle auch von den meisten ISDN-Telefonen und TK-Anlagen unterstützt wird. Voraussetzung ist also ein TAPI-ServiceProvider des Herstellers des Telefons/der TK-Anlage. Dann kann's losgehen.
Direkt aus VBA von A97 ist das Ansprechen der TAPI nur gehend möglich, und das auch nur über API-Calls. Mehr zu diesem Thema z.B. unter http://www.shrinkwrapvb.com/vbtapi.htm
Ein fertiges Tool zum Ansteuern von Telefonen mit Tapi-Unterstützung für Entwickler unter VB und VBA gibt es bei uns: http://www.toptapi.de
Eine andere Lösung wäre das TeleTool-OCX bei http://www.exceletel.com - runterladen und testen.
Ebenfalls für Entwickler gedacht ist die "sevTAPI.DLL" auf der Access-Tools CD Vol.1 von access-paradies.de.
| 8.5 Daten an Word übergeben |
| www.donkarl.com?FAQ8.5 | aktualisiert 2006-03-31 |
Problem
Du möchtest Daten aus Access zur Weiterverarbeitung an Word übergeben.
Lösung
Wenn du mit den Daten in Word einen Serienbrief fabrizieren möchtest, dann ist die einfachste und problemloseste Variante, die Daten mithilfe der TransferText-Aktion oder -Methode in ein Word.doc oder eine Textdatei zu exportieren, die dann in Word als Datenquelle für den Seriendruck verwendet wird.
Wenn du nur einzelne Daten z.B. aus dem gerade aktuellen Datensatz übergeben und dazu Word aus Access heraus öffnen willst, dann schau dir folgende Beispiele an:
"OBD Wordbrief" von Klaus Oberdalhoff bei http://www.freeaccess.de
"adrWord12.zip" von Harald Langer bei http://www.dbdev.org
Erläuterung mit Code für A00:
http://support.microsoft.com/?kbid=210271
Erläuterung mit Code für A97:
http://support.microsoft.com/?kbid=131583
| 8.6 Access-DB im Internet |
| www.donkarl.com?FAQ8.6 |
Problem
Du möchtest eine Access-Datenbank bzw. ihre Daten ins Inter-/Intranet bringen.
Lösung
Dafür gibt es je nach Access-Version, Absichten, Kenntnissen, Geldbörse etc. verschiedene Methoden.
Zuvor: Die in Access eingebauten Exportmöglichkeiten für HTML sind sehr bescheiden und für ernsthafte Anwendungen ungeeignet.
Ab A00 gibt es die relativ einfach zu erstellenden (Datenzugriffs-)Seiten (DAPs = Data Access Pages) als neue Objekte. Diese eignen sich aber i.d.R. nur für ein Intranet, weil sie nur mit dem Internet Explorer von MS funktionieren. In A00 muss zudem jeder, der darauf zugreifen will, eine Office00-Lizenz haben.
Für A00 gibt es bei der Fa. Trigeminal einen kostenlosen Assistenten zur Konvertierung von Formularen/Berichten in Datenzugriffseiten:
http://www.trigeminal.com/utility.asp
In den neueren Access-Versionen ist diese Funktionalität bereits fix eingebaut.
Flexibler sind Active Server Pages (ASP bzw. ASP.NET). Sie sind die am häufigsten verwendete Technik im Zusammenhang mit Access. Es gibt eine Menge Web-Seiten, die sich mit ASP beschäftigen. Eine Auswahl:
deutsch:
http://www.aspheute.com/ (Chris Willes umfangreiche Info- und Tippseite)
http://www.aspgerman.com/aspgerman (FAQ, Info)
http://www.simsy.ch/intranet (nicht nur ASP, allg. Info zu Datenbanken im Web)
einführendes Skriptum zu ASP mit MDB von K. Konopasek von der AEK2
Vortragsfolien zu ASP.NET mit MDB von Mark Dörbandt von der AEK7
englisch:
http://www.activeserverpages.com (v.a. umfangreiche Tutorials)
http://www.aspdeveloper.net (Tutorials, Links etc.)
http://www.takempis.com/information.asp (Einführung, Links, Infos etc.)
| 8.7 Import fremder Formate |
| www.donkarl.com?FAQ8.7 |
Problem
Du hast Daten oder eine komplette Anwendung in Fremdformaten vorliegen und suchst nach einer Möglichkeit, sie nach Access zu portieren.
Lösung
Du kannst keine Oberflächen etc. aus anderen Formaten nach Access übernehmen, sondern nur die Daten.
Access kann einige Formate direkt importieren (s. Online-Hilfe), die als Vermittler für Formate dienen, die Access nicht lesen kann. Meist sind diese vermittelnden Formate: Text mit Trennzeichen (csv), dBase (dbf), Excel (xls). Suche in deinem Programm nach entsprechenden Exportmöglichkeiten. Einige Beispiele (hängt auch von den Programmversionen ab):
Filemaker (Pro): Export aus FM als csv oder dBase
Works: Export als csv (in Works "Text und Semikolon") http://support.microsoft.com/?kbid=197894
F&A: Export als dBase IV
BTrieve
Bei A2 gab es einen IISAM-Treiber für BTrieve. Wenn du noch A2 installiert hast oder auftreiben kannst, wäre das eine Möglichkeit zur Übernahme der Daten.
http://support.microsoft.com/?kbid=157036
http://support.microsoft.com/?kbid=141623
http://www.pervasive.com bietet einen 32-bit ODBC-Treiber an (viel Glück beim Suchen), der dann auch mit höheren A-Versionen funktionieren sollte. Lt. mehreren Postings in den NGs gibt's dabei aber Versionsprobleme und mussten eigene Lösungen gestrickt werden.
Einen Workaround bietet noch das DOS-Programm "BUTIL". Mit dem Parameter RECOVER lassen sich BTrieve-Daten in Textdateien abspeichern. Füttere damit die Suchmaschine deiner Wahl.
| 8.8 Access und Oracle |
| www.donkarl.com?FAQ8.8 | aktualisiert 2006-04-21 |
Problem
Du suchst Informationen zum Thema: Verwendung von Access als Frontend für eine Oracle-DB.
Lösung
Die Verbindung Access - Oracle ist per ODBC möglich.
Chris Jüngling erklärt das grundlegende Vorgehen und gibt zusätzliche Infos zu Bugs, Treibern etc.:
http://www.juengling-edv.de/alt/ao/
aktuelle ODBC-Treiber gibt's direkt bei Oracle:
http://www.oracle.com/technology/software/tech/windows/odbc/index.html
Info über Unterschiede bei den Datentypen:
http://support.microsoft.com/?kbid=104977
Es gibt einen "Oracle Migration Workbench" der u.a. Access/JET-Daten nach Oracle mirgrieren soll:
http://www.oracle.com/technology/tech/migration/focusareas/access.html
| 8.9 Access und MySQL |
| www.donkarl.com?FAQ8.9 | aktualisiert 2005-11-06 |
Problem
Du suchst Informationen zum Thema Access in Verbindung mit MySQL.
Lösung
Die Verbindung Access - MySQL ist per ODBC möglich.
ODBC-Treiber und viele Infos zu MySQL:
http://www.mysql.com
Mit "Access" als Suchbegriff gibt's dort eine Menge spezifischer Artikel.
Eine praktische Einführung bietet Jörg Ackermanns Skript Access+MySQL von der 6. AEK.
Phil Stiefel bietet Infos über die Zusammenarbeit mit Access, Probleme, Bugs etc.:
http://www.codekabinett.com/page.php?Theme=4&Lang=1
Umfangreiche Info auf deutsch:
http://www.little-idiot.de/mysql
| 8.10 Access und MS SQL-Server |
| www.donkarl.com?FAQ8.10 |
Problem
Du suchst Informationen zum Thema Access als Frontend für den MS SQL-Server.
Lösung
Die Kombination Access - MS SQL Server ist auf zwei sehr unterschiedliche Arten möglich:
Die Tabellen des SQL Servers können per ODBC in eine MDB eingebunden sein oder Access kann "direkt" (per OLEDB) mit den Objekten der Server-DB wie Tabellen, Views, Stored Prodecures, Funktionen etc. arbeiten. Diese direkte Variante nennt sich "Access Projekt" (Access Data Project) und hat die Dateierweiterung "adp" statt "mdb".
Info und Tipps bei Problemen gibt's in der SQL-Server-FAQ von Bernd Jungbluth:
http://www.sqlfaq.de
Viel Info zum Thema bieten die Skripte von diversen AEK-Vorträgen.
Info zu ADP, MSDE etc. von MS:
http://msdn.microsoft.com/library/backgrnd/html/msdeforvs.htm
http://msdn.microsoft.com/library/techart/acaccessprojects.htm
Beachte auch, dass es eine eigene Newsgroup für alle Fragen zum Thema Access als Frontend für alle Varianten von SQL-Server-DBs gibt (MS-SQL-Server, Oracle, MySQL etc.): microsoft.public.de.access.clientserver