EXTERNAL.TXT Zusatzinformationen zu Microsoft (R) Visual Basic (TM), Standardausgabe Version 3.00 (C) Copyright Microsoft Corporation, 1993 Dieses Dokument enthält zusätzliche Informationen zur Standardausgabe von Microsoft Visual Basic für Windows, Version 3.0. Diese Informationen sind aktueller als die Informationen in den Handbüchern oder der Online-Hilfe. Die Benutzer von Visual Basic können mit dem Datensteuerelement auf externe Datenbanktabellen zugreifen. Benutzer der professionellen Ausgabe finden Informationen dazu im Anhang C, "Zugriff auf externe Datenbanken" im Buch 2, "Data Access Guide", "Professional Features". --------------- Dieses Dokument --------------- Sie können EXTERNAL.TXT mit dem Windows-Editor auf dem Bildschirm ansehen. Maximieren Sie dazu das Editor-Fenster. Wenn Sie EXTERNAL.TXT drucken wollen, öffnen Sie dazu die Datei in Windows Write, Microsoft Word oder einer anderen Textverarbeitung. Markieren Sie dann das gesamte Dokument, und formatieren Sie den Text vor dem Ausdruck in der Schriftart Courier, Schriftgröße 10 Punkt. ====== Inhalt ====== Teil Beschreibung ---- ------------ 1 Zugriff auf externe Datenbanken 2 Öffnen von externen Tabellen 3 Maximale Geschwindigkeit mit externen Tabellen ======================================= Teil 1: Zugriff auf externe Datenbanken ======================================= In der Standardausgabe von Visual Basic können Sie alle unterstützten externen Datenbanken öffnen. In dieser Version werden folgende Datenbankformate unterstützt: - Microsoft Access / Visual Basic (Weitere Datenbanken neben der bereits geöffneten Datenbank) - Btrieve (mit den Datendefinitionsdateien FILE.DDF und FIELD.DDF) - dBASE III und dBASE IV - FoxPro und FoxPro für Windows - Paradox Hinweis ------- Visual Basic kann Microsoft Access-Datenbanken lesen und schreiben, da beide Programme dasselbe Datenbankmodul verwenden. Verweise auf "Visual Basic-Datenbanken" beziehen sich daher auch immer auf Datenbanken, die mit Microsoft Access erstellt oder geändert wurden. Vor- und Nachteile beim Zugriff auf externe Datenbanken ------------------------------------------------------- Beim Zugriff auf Daten von externen Quellen haben Sie zwei Möglichkeiten. Sie können direkt auf die externe Datenbanktabelle zugreifen, oder Sie können die Daten in die Visual Basic-Anwendung importieren. Der direkte Zugriff ist dann sinnvoll, wenn die externe Datenbank bereits eingerichtet ist und ständig aktualisiert wird. In diesem Fall können die bestehenden Mechanismen zur Datenaktualisierung, -verwaltung und dem gemeinsamen Datenzugriff beibehalten werden, nur der Verwaltungsaufwand für das eigentliche Abfragen der Daten muß berücksichtigt werden. Visual Basic kann in den meisten Fällen auf externe Tabellen genauso zugreifen wie jede andere Tabelle, auch wenn andere Anwendungen auf demselben Host-Server gleichzeitig auf diese Tabellen zugreifen. Auch die Kombination von Operationen auf Daten in externen Tabellen und Daten in der lokalen Datenbank ist möglich. Zum Importieren von Daten aus externen Tabellen können Sie Microsoft Access oder eine Visual Basic-Anwendung verwenden. Visual Basic eignet sich besonders zum Einlesen von Dateien, in denen die Datensätze mit ASCII-Zeichen voneinander getrennt sind (siehe INPUT #-Anweisung). Die nächsten Abschnitte beschreiben den Zugriff auf externe Tabellen. Möglicherweise arbeiten Sie bereits mit einer Microsoft Access- oder Visual Basic-Datenbank, an die Tabellen angefügt sind. Angefügte Tabellen enthalten Verknüpfungsinformationen in der Datenbank, über die Visual Basic auf die Daten genauso zugreifen kann wie auf Daten in der lokalen Datenbank. In einem solchen Fall kann Visual Basic ohne zusätzliche Maßnahmen Daten aus diesen angefügten Tabellen abrufen. Tips zum Einsatz externer Tabellen ---------------------------------- Beim Einsatz einer externen Datenbanktabelle sollten Sie die folgenden Hinweise beachten: - Vor der Verwendung eines Datenzugriffsobjekts müssen Visual Basic den Pfad der .INI-Datei mit den Initialisierungsparametern für die externen Datenbanken, auf die zugegriffen werden soll, bekannt sein. Sie können diese Information mit der SetDataAccessOption-Anweisung übergeben, zu der Sie auch in der Hilfe unter "SetDataAccessOption" weitere Informationen erhalten. - In der Initialisierungsdatei muß ein Abschnitt mit den nötigen Informationen zum Einrichten der externen Datenbank enthalten sein. Im Abschnitt "Details zur Initialisierungsdatei" weiter unten sind die Einstellungen der .INI-Datei aufgeführt, die zum Herstellen der Verbindung mit den unterstützten Datenbanken benötigt werden. Hinweis ------- Enthält die Datei VB.INI oder Anwendung.INI nicht die richtigen (unten beschriebenen) Einträge, so wird der auffangbare Fehler "Installierbare ISAM nicht gefunden" ausgelöst. * Beim Zugriff auf eine externe Tabelle mit einer Microsoft Access-Datenbank müssen Sie u.U. ein Kennwort angeben. Dies ist mit der SetDefaultWorkspace-Anweisung möglich, die im folgenden Codebeispiel "Locatech" als Benutzer und "Banane" als Kennwort angibt: SetDefaultWorkspace "Locatech", "Banane" Weitere Informationen finden Sie unter SetDefaultWorkspace im Sprachverzeichnis oder in der Hilfe. * Beim Zugriff auf eine externe Tabelle mit Btrieve, Paradox oder einer SQL-Datenbank müssen Sie u.U. ein Kennwort angeben. Dieses Kennwort unterscheidet sich jedoch von dem Kennwort eines Microsoft Access-Benutzers; es ist das in der externen Datenbank gesetzte Kennwort. Das Datenbank-Kennwort wird über die Connect- Eigenschaft des Datensteuerelements mit dem PWD-Bezeichner übergeben, wie im folgenden Beispiel: "Paradox;PWD=Banane;" * Um auf eine externe Tabelle in einem Netzwerk zuzugreifen, müssen Sie die Verbindung mit dem Netzwerk herstellen und eine Zugriffsberechtigung für die Datenbankdatei bzw. das Datenbankverzeichnis haben. Wenn Visual Basic automatisch bei jedem Öffnen einer externen Tabelle die Verbindung mit dem entsprechenden Datei-Server herstellen soll, können Sie, sofern das Netzwerk dies unterstützt, den ausführlichen Pfad (= Netzwerkpfad) der Datei in den Eigenschaften DatabaseName, Connect und RecordSourceName angeben. Allerdings können Sie kein Kennwort für eine Netzwerkfreigabe angeben. Wenn für den Netzwerkzugriff ein Kennwort benötigt wird, müssen Sie vor dem Starten des Programms eine Verbindung zu der Freigabe herstellen, ein Kennwort angeben und einen Laufwerksbuchstaben für die Freigabe vergeben. Wenn Sie zum Beispiel ein Microsoft LAN Manager-Netzwerk einsetzen, können Sie mit dem folgenden Pfad eine Verbindung zu einer dBASE-Ferndatenbank herstellen: \\server\freigabe\daten\autor.dbf Beim Öffnen einer dBASE III-Ferntabelle würden Sie dann den Pfad mit dem folgenden Code angeben: ' In diesem Beispiel wird die dBASE III-Tabelle AUTOR ' auf dem Server \\SERVER\FREIGABE\DATEN angefügt. ' Daten1.Databasename = "\\SERVER\FREIGABE\DATEN" Daten1.RecordSource = "AUTOR" Daten1.Connect = "dBASE III" Daten1.Refresh Solange die dBASE-Datei nicht verschoben wird, kann die Anwendung auf die Daten zugreifen. Die Syntax zum Anfügen von Dateien anderer externer Datenbanken entspricht im wesentlichen diesem Verfahren. * Bei der Definition von externen Tabellen unterstützt nur Paradox die Definition von Primärschlüsseln, die in Paradox-Tabellen zwingend erforderlich sind. * Eine angefügte Tabelle kann zwar genauso verwendet werden wie eine Microsoft Access-Tabelle, aber Sie müssen bestimmte Dinge beachten. Weitere Informationen zum Arbeiten mit angefügten Tabellen finden Sie im Abschnitt "Öffnen von externen Tabellen" weiter unten in diesem Dokument. * Beim Arbeiten mit mehreren externen Datenbanktabellen kann es vorkommen, das die Updatable-Eigenschaft den Wert False hat. Der Grund dafür liegt in der Regel in der Komplexität der Abfrage. Zum konsistenten Aktualisieren externer Tabellen sind einfachere Abfragen häufig besser geeignet. * Visual Basic erstellt beim Verändern externer Datenbanken für die ausgeführten Abfragen temporäre Indizes auf der Festplatte der Arbeitsstation, auch wenn die Datenbank sich auf einem externen (vernetzten) System befindet. Temporärer Speicherplatz wird in dem Verzeichnis reserviert, das durch die Umgebungsvariable TEMP bezeichnet wird (normalerweise \WINDOWS\TEMP). Wenn die TEMP-Umgebungsvariable in Ihrem System nicht gesetzt wurde, eine ungültige Pfadangabe enthält, oder wenn auf Ihrer Arbeitsstation nicht genügend Speicher für diese temporären Indizes existiert, ist das Verhalten Ihrer Anwendung nicht vorhersehbar, da Windows und Visual Basic dann keine Ressourcen mehr zur Verfügung stehen. Die benötigte Speichermenge hängt von der Größe der externen Tabelle ab und kann zwischen einigen Kilobytes und mehreren Megabytes liegen. * Beim Löschen von Datensätzen aus dBASE- oder FoxPro-Datenbanken können die Datensätze erneut erscheinen, wenn die Tabelle geschlossen und anschließend wieder geöffnet wird. Damit keine gelöschten Datensätze abgefragt werden, müssen Sie den Parameter DELETED in der Datei VB.INI auf "On" setzen (die Voreinstellung). ==================================== Teil 2: Öffnen von externen Tabellen ==================================== Das Verfahren zum Öffnen der verschiedenen externen Datenbanken ist bei allen Formaten ähnlich. Die nachfolgenden Abschnitte in diesem Anhang behandeln die besonderen Merkmale der einzelnen unterstützten Datenbankformate. Wenn Sie externe Tabellen mit dem Datensteuerelement direkt öffnen, müssen Sie entweder zur Entwurfszeit im Eigenschaftenfenster die einzelnen Eigenschaften des Datensteuerelements interaktiv setzen, oder Sie müssen die Einstellungen über den Code in Ihrer Anwendung vornehmen. Zugreifen auf Paradox-Tabellen ------------------------------ Visual Basic kann auf externe Tabellen von Paradox (Version 3.0 und 3.5) zugreifen. Bei Angabe des richtigen Kennworts kann Visual Basic auch verschlüsselte Paradox-Tabellen öffnen. Wenn Sie eine externe Paradox-Tabelle öffnen, können Daten auch dann abgefragt und aktualisiert werden, wenn andere Benutzer auf diese Daten mit Paradox zugreifen. Beim direkten Öffnen von externen Paradox-Datenbanktabellen müssen Sie den Verzeichnisnamen (keinen Dateinamen) in die DatabaseName-Eigenschaft und den Namen der Tabellendatei in die RecordSource-Eigenschaft des Datensteuerelements eintragen. Um zum Beispiel die Paradox-Datei "Autor.DB" zu öffnen und mit dem Namen "ParaAutor" die Datei als Table-Objekt zu referenzieren, können Sie den folgenden Code verwenden: Daten1.Connect = "Paradox;" ' Datenbanktyp angeben Daten1.DatabaseName = "C:\Paradox" ' Datenbankverzeichnis angeben Daten1.RecordSource = "Autor" ' Name für Datei mit Datenbanktabelle Daten1.Refresh While Not Daten1.RecordSet.EOF Print Daten1.RecordSet(0) ' Feld (0) in Form ausgeben, Daten1.RecordSet.MoveNext ' von allen Datensätzen Wend Wichtig ------- Paradox speichert wichtige Informationen zum Primärschlüssel einer Tabelle in einer Index-Datei (.PX). Beim Zugriff auf eine externe Paradox-Tabelle mit einem Primärschlüssel benötigt Visual Basic zum Öffnen der externen Tabelle die .PX-Datei. Wird die Datei gelöscht oder verschoben, so kann die externe Tabelle nicht mehr geöffnet werden. Wenn Sie eine Paradox-Tabelle ohne Primärschlüssel anfügen, können Sie mit Visual Basic keine Tabellendaten aktualisieren. Dazu müssen Sie vorher einen Primärschlüssel in Paradox definieren. Datentypumwandlungen von Paradox nach Microsoft Access ------------------------------------------------------ Beim Zugriff auf eine externe Paradox-Tabelle übersetzt Visual Basic Paradox-Datentypen in die entsprechenden Visual Basic-Datentypen. In der folgenden Tabelle sind die Datentypumwandlungen aufgeführt. Paradox-Datentyp Microsoft Access-Datentyp Alphanumeric Text Currency Number (FieldSize-Eigenschaft = Double) Date Date/Time Number Number (FieldSize-Eigenschaft = Double) Short number Number (FieldSize-Eigenschaft = Integer) Zugriff auf dBASE- und FoxPro-Dateien ------------------------------------- Visual Basic kann externe .DBF-Dateien im dBASE III-, dBASE IV- oder FoxPro-Format (FoxPro-Versionen 2.0 und 2.5) direkt öffnen. Anschließend können Sie Daten ansehen und aktualisieren, auch wenn andere Benutzer in dBASE oder FoxPro ebenfalls darauf zugreifen. Beim Zugriff auf eine dBASE- oder FoxPro-Datei kann Visual Basic auch eine oder mehrere Indexdateien (.NDX oder .MDX bei dBASE; .IDX oder .CDX bei FoxPro) Verwenden, um die Zugriffsgeschwindigkeit zu erhöhen. Bei dBASE- und FoxPro-Datenbanken verwaltet Visual Basic die Tabellenindizes in einer besonderen Informationsdatei (.INF). Beim Aktualisieren von Daten in der .DBF-Datei werden daher auch die Indexdateien entsprechend der Änderungen aktualisiert. Die .INF-Datei wird automatisch erstellt, wenn Sie mit Visual Basic einen neuen Index für eine dBASE- oder FoxPro-Tabelle erstellen. Sie können die .INF-Datei aber auch mit einem Texteditor selbst erstellen. Für die .INF-Dateien gilt das folgende Format: TabName.INF enthält: NDX1=.NDX NDX2=.NDX NDXn=.NDX Eine .INF-Datei für die Tabelle Autoren hätte zum Beispiel den Namen AUTOREN.INF mit den folgenden Einträgen: NDX1=StadtIndx.NDX NDX2=NameIndx.NDX Speichern Sie diese Index- und .INF-Dateien in demselben Verzeichnis wie die übrigen dBASE III-Dateien. FoxPro- und dBASE-Datenbanken werden nicht in einzelnen Dateien abgelegt, sondern in Verzeichnissen, die separate Daten-, Index- und andere Dateien enthalten. Beim direkten Öffnen von externen FoxPro- und dBASE-Datenbanktabellen müssen Sie auch den Namen des Verzeichnisses (keinen Dateinamen) in der DatabaseName-Eigenschaft des Datensteuerelements und den Namen der Tabellendatei in der RecordSource-Eigenschaft angeben. Um zum Beispiel die Datei "Autor.DBF" von FoxPro, Version 2.5, zu öffnen, können Sie den folgenden Code verwenden: Daten1.Connect = "FoxPro 2.5;" ' Datenbanktyp angeben Daten1.DatabaseName = "C:\FoxPro" ' Datenbankverzeichnis angeben Daten1.RecordSource = "Autor" ' Name für Datei mit Datenbanktabelle Daten1.Refresh While Not Daten1.RecordSet.EOF Print Daten1.RecordSet(0) ' Feld (0) in Form ausgeben, Daten1.RecordSet.MoveNext ' von allen Datensätzen Wend FoxPro- und dBASE-Memofelder werden in eigenen Dateien gespeichert. Diese Dateien müssen sich in demselben Verzeichnis befinden wie die Tabellendateien. FoxPro und dBASE löschen die Datensätze nicht sofort, sondern markieren diese nur und löschen sie zu einem späteren Zeitpunkt. Sie müssen die Datenbank (mit einem dafür geeigneten Programm) komprimieren, um diese Datensätze aus der .DBF-Datei zu entfernen, da die CompactDatabase-Funktion bei angefügten Tabellen nicht funktioniert. Wenn Sie im Abschnitt [dBASE ISAM] in der .INI-Datei DELETED = ON gesetzt haben, filtert Visual Basic gelöschte Datensätze, d.h. sie erscheinen nicht mehr in Datensatzgruppen. Bei DELETED=OFF gelangen alle Datensätze in die erstellten Datensatzgruppen, auch gelöschte Datensätze. Durch dieses Verfahren können dBASE- und FoxPro-Benutzer das Löschen von Datensätzen rückgängig machen. Tritt beim Zugriff auf eine dBASE- oder FoxPro-Tabelle ein solcher Fall ein, dann erstellt Visual Basic zunächst ein Dynaset aus den Datensätzen. Beim Löschen wird der Datensatz im Dynaset deaktiviert und der Satz in der .DBF-Datei als gelöscht markiert. Beim Ausführen von Refresh oder beim erneuten Öffnen der Tabelle sind dann die Datensätze wieder vorhanden. Wichtig ======= Wenn Sie auf eine .DBF-Datei zugreifen und eine zugehörige Indexdatei (.NDX oder .MDX bei dBASE oder .IDX; .CDX bei FoxPro) angeben, benötigt Visual Basic die Indexdatei zum Öffnen der angefügten Tabelle. Wenn Sie Indexdateien oder die Informationsdatei (.INF) löschen oder verschieben, kann die externe Tabelle danach nicht mehr geöffnet werden. Wenn Sie dBASE oder FoxPro zum Aktualisieren von Daten in einer .DBF-Datei verwenden und vorher aus Visual Basic auf diese Datei zugegriffen haben, dann müssen Sie zusätzlich alle zur .DBF-Datei gehörenden dBASE- oder FoxPro-Indizes aktualisieren. Sind die Indexdateien nicht auf dem aktuellen Stand, wenn Visual Basic darauf zugreift, so führen Ihre Abfragen zu unvorhersehbaren Ergebnissen. Datentypumwandlungen von dBASE und FoxPro nach Microsoft Access: Beim Zugriff auf eine dBASE- oder FoxPro-Datei übersetzt Visual Basic die dBASE- und FoxPro-Datentypen in die entsprechenden Microsoft Access-Datentypen. In der folgenden Tabelle sind die Datentypumwandlungen aufgeführt. dBASE-Datentyp Microsoft Access-Datentyp ---------------------------------------------------------------- Character Text Date Date/Time General (nur FoxPro) OLE-Objekt Logical True/False Memo Memo Numeric, Float Number (FieldSize-Eigenschaft = Double) Zugriff auf Btrieve-Tabellen ---------------------------- Mit Visual Basic können Sie Btrieve-Tabellen im 5.1x-Format direkt öffnen. Dazu müssen die Datendefinitionsdateien FILE.DDF und FIELD.DDF existieren, aus denen Visual Basic die Tabellenstruktur entnimmt. Diese Dateien werden von Xtrieve* oder einem anderen Programm zum Erzeugen von Datendefinitionsdateien erstellt. Wenn Sie diese Dateien oder die Datendateien löschen oder verschieben, kann eine angefügte Btrieve-Datei nicht mehr geöffnet werden. Weitere Informationen zum Einsatz von Btrieve zusammen mit Visual Basic finden Sie in der Textdatei BTRIEVE.TXT im Visual Basic-Verzeichnis. Beim Zugriff auf Btrieve-Datenbankdateien müssen Sie den Namen der Btrieve-Datendatei (.DDF) in der DatabaseName-Eigenschaft (bzw. DATABASE= in der Connect-Eigenschaft) und den Namen der Tabellendatei in der SourceTableName-Eigenschaft angeben. In diesem Fall können der Btrieve-Dateiname und der Tabellenname vollkommen unterschiedlich sein. Die richtigen Dateinamen sind in der Datei FILE.DDF gespeichert. Mit dem folgenden Code können Sie zum Beispiel die Btrieve-Datei "FILE.DDF" öffnen und darüber die Btrieve-Datenbanktabelle "Autor" referenzieren: Daten1.Connect = "Btrieve;" ' Datenbanktyp angeben Daten1.DatabaseName = "C:\Btrieve\FILE.DDF" ' Datenbankdatei angeben Daten1.RecordSource = "Autor" ' Name für Datei mit Datenbanktabelle Daten1.Refresh While Not Daten1.RecordSet.EOF Print Daten1.RecordSet(0) ' Feld (0) in Form ausgeben, Daten1.RecordSet.MoveNext ' von allen Datensätzen Wend Einstellungen in der Initialisierungsdatei WIN.INI -------------------------------------------------- Der Btrieve-Treiber liest beim Zugriff auf Btrieve-Dateien die Informationen im Abschnitt [BTRIEVE] der Datei WIN.INI (nicht VB.INI). Wenn Sie bei der Visual Basic-Installation angegeben haben, daß auf Btrieve-Dateien zugegriffen werden soll, dann enthält die WIN.INI-Datei die folgenden Voreinstellungen: [BTRIEVE] Options=/m:64 /p:4096 /b:16 /f:20 /l:40 /n:12 /t:c:\VB3\BTRIEVE.TRN In der folgenden Tabelle werden alle Optionen kurz erläutert. In Ihrer Btrieve-Dokumentation und in der Datei BTRIEVE.TXT (im Lieferumfang von Visual Basic) finden Sie eine aktuelle und ausführliche Liste aller Einstellungen. Wenn eine andere, von Ihnen installierte Anwendung diese Einstellungen ändert, ist die ordnungsgemäße Ausführung von Visual Basic nicht sichergestellt. Option Definition /m Speichermenge (m = Memory) /p Seitengröße (p = Page) /b Puffergröße (b = Buffer) /f Geöffnete Dateien (f = Files) /l Mehrfachsperren (l = Locks) /n Dateien in einer Transaktion /t Name der Transaktionsdatei (t = Transaction) Alle Btrieve-Benutzer müssen auf diese Datei zugreifen können.) Hinweis ------- Sie können nur auf Btrieve-Daten zugreifen, wenn Sie im Besitz der Btrieve-DLL für Windows (WBTRCALL.DLL) sind, die nicht im Lieferumfang von Visual Basic enthalten ist. Diese Datei wird mit Novell* Btrieve for Windows, Novell NetWare* SQL und anderen Produkten unter Windows, die Btrieve einsetzen, ausgeliefert. Wenn Sie mit mehreren Benutzern auf eine Btrieve-Datenbank zugreifen wollen, müssen Sie dafür sorgen, daß alle Datenbankbenutzer den Pfad für die Transaktionsdatei erfahren. Normalerweise wird diese Datei auf einem allgemein zugänglichen Server abgelegt, auf den alle Benutzer zugreifen können. Dies wird in der Standardeinstellung für diesen Parameter jedoch nicht berücksichtigt. Datentypumwandlung von Btrieve nach Microsoft Access ---------------------------------------------------- Beim Zugriff auf Btrieve-Tabelle übersetzt Visual Basic Btrieve-Datentypen in die entsprechenden Microsoft Access-Datentypen. In der folgenden Tabelle sind die Datentypumwandlungen aufgeführt. Btrieve-Datentyp Microsoft Access-Datentyp --------------------------------------------------------------------------- Date, time Date/Time Float oder bfloat (4-Byte) Number (FieldSize-Eigenschaft = Single) Float oder bfloat (8-Byte), dezimal, numerisch Number (FieldSize-Eigenschaft = Double) Integer (1-, 2- oder 4-Byte) Number (FieldSize-Eigenschaft = Byte, Integer oder Long Integer) Logical True/False Lvar OLE-Objekt Money Currency Note Memo String, lstring, zstring Text ====================================================== Teil 3: Maximale Geschwindigkeit mit externen Tabellen ====================================================== Auch wenn auf externe Tabellen genauso zugegriffen werden kann wie auf normale Microsoft Access-Tabellen, handelt es sich dennoch um Tabellen, die sich nicht in einer Visual Basic-Datenbank befinden. Bei jedem Zugriff auf Daten einer externen Tabelle muß Visual Basic auf eine andere Datei zugreifen. Dies dauert länger als ein direkter Zugriff, insbesondere, wenn sich die externe Tabelle im Netzwerk befindet. Wenn Sie eine externe Tabelle in einem Netzwerk verwenden, dann folgen Sie diesen Richtlinien, um maximale Geschwindigkeit zu erreichen: * Greifen Sie nur auf benötigte Daten zu, und vermeiden Sie unnötiges Blättern in den Daten. Bewegen Sie sich nicht zum letzten Datensatz in einer großen Tabelle, es sei denn, sie wollen neue Datensätze an die Tabelle anfügen. * Verwenden Sie Abfragen, um die Anzahl der Datensätze zu begrenzen. Dadurch werden weniger Daten über das Netzwerk übertragen. * Vermeiden Sie bei Abfragen in externen Tabellen die Verwendung von Funktionen als Kriterien. Dies gilt insbesondere für Aggregatfunktionen (zum Beispiel DSum) in den Abfragen. Bei Aggregatfunktionen überträgt Visual Basic alle Daten der externen Tabelle, um die Abfrage durchführen zu können. * Wenn Sie viele Datensätze zu einer externen Tabelle hinzufügen, dann fügen Sie sie zu einer Tabelle im Microsoft Access-Format hinzu, und hängen Sie anschließend alle hinzugefügten Datensätze mit einer einzigen Aktionsabfrage an die externe Tabelle an. Da Visual Basic in diesem Fall nicht alle Datensätze der externen Tabelle übertragen muß, führt dies zu einer enormen Zeitersparnis. * Andere Benutzer können gleichzeitig mit Ihnen auf eine externe Tabelle zugreifen. Befindet sich eine Visual Basic-Datenbank im Netzwerk, so sollten Sie darauf achten, das Datensätze nicht unnötig gesperrt werden. Hinweis ------- Wenn sich die Verknüpfungseigenschaften in der angefügten Tabelle ändern (zum Beispiel beim Verschieben der Datenbankdatei oder Ändern des Kennworts), kann die angefügte Tabelle nicht mehr geöffnt werden. Die aktuellen Informationen erhalten Sie, indem Sie die nicht mehr aktuelle Verknüpfung löschen und die Tabelle erneut anfügen. Details zur Initialisierungsdatei --------------------------------- Bei der Installation von Visual Basic können Sie beliebig viele Treiber für externe Datenbanken installieren. Alle installierten Treiber werden in der .INI-Datei eingetragen. Weiter unten finden Sie die Standardeinstellungen aller unterstützten Treiber für externe Datenbanken. In einigen Fällen wurden die Einstellungen in der .INI-Datei bereits weiter oben in den Abschnitten zu den einzelnen Treibern erläutert. Beim Ausliefern Ihrer Anwendung müssen Sie darauf achten, daß die richtigen Einstellungen für die unterstützten Treiber in die Initialisierungsdatei eingetragen werden. Hinweis ------- Die Anzahl der Wiederholungen bei Übernahmesperren basiert auf der folgenden Formel zur Berechnung der aktuellen Anzahl von Wiederholungen: Anzahl = WiederholenSperren * WiederholenÜbernahmesperren Standardeinstellungen in VB.INI oder .INI ---------------------------------------------------- [Options] SystemDB=C:\MYPATH\SYSTEM.MDA ; SYSTEM.MDA von Access, nur bei Verwendung ; von Microsoft Access [ISAM] PageTimeout=5 ;500 ms Zeitüberschreitung - keine Lesesperre MaxBufferSize=128 ;128K LockRetry=20 ;20 Wiederholungen bei Schreib-/Lesesperren CommitLockRetry=20 ;20 Wiederholungen bei Übernahmesperren ReadAheadPages=16 ;16 Seiten [Installable ISAMs] Paradox 3.X=C:\VB\pdx110.DLL ;Pfad des Paradox-Treibers FoxPro 2.0=C:\VB\xbs110.DLL ;Pfad des FoxPro 2.0-Treibers FoxPro 2.5=C:\VB\xbs110.DLL ;Pfad des FoxPro 2.5-Treibers dBASE III=C:\VB\xbs110.DLL ;Pfad des dBASE III-Treibers dBASE IV=C:\VB\xbs110.DLL ;Pfad des dBASE IV-Treibers Btrieve=C:\VB\btrv110.DLL ;Pfad des Btrieve-Treibers [Paradox ISAM] PageTimeout=600 ;60 Sekunden ParadoxUserName=Joe User ;angezeigter Name bei Sperrkonflikten ParadoxNetPath=P:\PDOXDB\ ;Pfad der PARADOX.NET-Datei CollatingSequence=Ascii ;Sortierreihenfolge für Ihre Dateien ; (Ascii, International, Norwegisch-Dänisch ; oder Schwedisch-Finnisch) [BTrieve ISAM] PageTimeout=600 ;60 Sekunden [dBase ISAM] PageTimeout=600 ;60 Sekunden, Sortierreihenfolge=Ascii ;(Ascii oder International möglich) Century=Off ;Datum mit 4 Stellen (On oder Off) Date=American ;Datumsformat: entspricht dem Befehl ;SET DATE in dBase Mark=47 ;Dezimalwert für das Ascii-Markierungszeichen: ;entspricht dem Befehl SET MARK in dBase Deleted=ON ;Gelöschte Datensätze anzeigen und ;Operationen darauf durchführen ;Deleted=On: keine Operationen auf ;gelöschten Datensätzen WIN.INI ------- Die folgende Zeile muß in WIN.INI (im Windows-Verzeichnis) eingetragen sein, wenn Sie externe Btrieve-Tabellen verwenden wollen. Dieser Eintrag wird detailliert weiter oben im Abschnitt zu Btrieve erläutert. [BTRIEVE] Options= /m:64 /P:4096 /b:16 /f:20 /l:40 /n:12 /t:c:\VB\BTRIEVE.TRN