Lokal Views (Ansichten) in Visual FoxPro Views (Ansichten) und Abfragen Views und Abfragen – beide stellen eine definierte Sicht auf Ihre Daten dar. Sie können eine Sicht aus verschiedenen Tabellen erstellen. Zugrunde liegen hier immer SQL-Befehle Abfragen – – Sie können die Ausgabe definieren: Cursor, Tabelle, Bericht, Etiketten Sie können keine Werte Ändern. -> Wir werden und mit Abfragen daher nicht beschäftigen, da diese kaum Vorteile bringen. © 1999 TMN-Systemberatung GmbH Views Views – – – – – Sie können Werte ändern und in die Original Tabellen zurückschreiben. Sie können per ODBC auf fremde Datenquellen zugreifen. Sie können Standardwerte und Validierung hinterlegen. Sie können die Sicht auf die Daten nach beliebigen Kriterien einschränken Mit Views können Sie wie mit jeder x-beliebigen Tabelle umgehen (USE, SKIP....) © 1999 TMN-Systemberatung GmbH Views mit dem Designer erstellen (1) Views benötigen immer einen DBC – Neue lokale Ansicht Tabellen auswählen Felder auswählen Verknüpfung erstellen – Die Definition des View wird im DBC gespeichert Vorhandene Relationen (Verknüpfungen) werden automatisch in JOINS umgesetzt. Filter definieren © 1999 TMN-Systemberatung GmbH Views mit dem Designer erstellen (2) Sortierung auswählen Eventuell Gruppierung festlegen Aktualisierungskriterien Verschiedenes – – keine Duplikate Die ersten xx Datensätze bzw. die ersten xx Prozent der Daten View (Ansicht) speichern SQL Befehl kann über das Menü Abfrage - SQL Ansicht kontrolliert werden © 1999 TMN-Systemberatung GmbH Aktualisierungskriterien Eindeutige Felder (möglichst primär indiziert) müssen in die Feldliste mit aufgenommen werden. Diese stellen die Schlüsselfelder für den Update dar. Zu aktualisierende Felder auswählen (Bleistift) SQL Aktualisierungen senden auswählen ! Weitere Optionen je nach Bedarf © 1999 TMN-Systemberatung GmbH Arbeiten mit Views Nach der Anlage der Views können Sie diese wie eine normale Tabelle mit USE öffnen (Der zugehörige DBC muß offen sein oder angesprochen werden) Die Tabellen aus welchen der View erzeugt wurde werden automatisch mit geöffnet. Änderungen an den Daten, welche für die Aktualisierung freigegeben wurden, werden an der ursprünglichen Tabelle sofort vorgenommen. © 1999 TMN-Systemberatung GmbH Arbeiten mit Views Views können wie Tabellen mit Buffering arbeiten und über Relationen mit anderen Tabellen verknüpft werden. © 1999 TMN-Systemberatung GmbH Parameter in Views (1) Nicht alle Datensätze müssen auf einmal geladen werden. Die Sicht auf Ihre Daten kann zur Laufzeit geändert werden Bsp: Nur die zur Firma 1 gehörigen Ansprechpartner anzeigen. Ansichtsparameter definieren Parameter in Filterausdruck eintragen. © 1999 TMN-Systemberatung GmbH Parameter in Views (2) 1. Möglichkeit: Beim Öffnen des Views wird der Benutzer nach dem Parameter gefragt. © 1999 TMN-Systemberatung GmbH Parameter in Views (3) 2. Möglichkeit: Sie definieren die Variable, welche Sie als Ansichts Parameter festgelegt haben und öffnen den View dann. Nur die übereinstimmenden Datensätze werden geladen. Beispiel: nCid = 1 USE FIRMANSP REQUERY() – Mit Hilfe des Requery Befehls können Sie den View jederzeit aktualisieren (z.B. bei Änderung des Parameters.) © 1999 TMN-Systemberatung GmbH Weiteres zu Views Views programmatisch erstellen – – Validierung, Standardwerte.... – – CREATE SQL VIEW [ViewName ] [AS SQLSELECTStatement] Bei größeren Views sinnvoll, da der View Designer einige Bugs hat. Können Sie einem View wie jeder Tabelle mittels DBSETPROP(„View.Field“,“FIELD“,Property, eValue) zugeordnet werden. Hier empfiehlt sich der Einsatz von Tools Views können temporär indiziert werden © 1999 TMN-Systemberatung GmbH Offline Views in Visual FoxPro Offline Views Warum eigentlich: – – – – Zeitkritische Datenänderungen (z.B. neue Artikel) Datenreplikation ( z.B. Daten abgleichen) Arbeiten unterwegs (z.B. Vertreter mit Notebook) Sicherung und Wartung von Tabellen, welche für den 24h Betrieb vorgesehen sind. Seit VFP 5.0 mit einfachen Mitteln möglich © 1999 TMN-Systemberatung GmbH Offline Views erstellen Normalen View erzeugen Offline schalten: – CREATEOFFLINE(ViewName [, cPath]) erzeugt den Offline View. Es wird hierzu eine normale DBF Tabelle auf der Platte generiert. wie normalen View bearbeiten aber kein: – ZAP, PACK, REQUERY, INSERT © 1999 TMN-Systemberatung GmbH Offline Views aktualisieren USE ViewName ONLINE – TABLEUPDATE() – Schaltet den View Online ohne Update der Ursprungstabellen. Erst das TableUpdate() aktualisiert die Ursprungstabellen. Konflikte müssen dabei abgefangen werden. Nicht vergessen: – – View schließen (USE) DROPOFFLINE(cViewName) um den Offline View zu löschen © 1999 TMN-Systemberatung GmbH Offline View (Befehle) DBGETPROP(ViewName,“VIEW“,“OFFLINE“) – zeigt an, ob der View momentan Offline ist. Bis zu einem „DROPOFFLINE“ bleibt der View Offline, unabhängig davon ob Änderungen vorgenommen wurden. DROPOFFLINE(ViewName) – Löscht den Offline View grundsätzlich ohne UPDATE oder dem Prüfen der Änderungen. © 1999 TMN-Systemberatung GmbH Remote Views in Visual FoxPro Remote Views - Einführung Lokal Views basieren auf FoxPro Tabellen, oder Views Remote Views basieren auf jeder beliebigen ODBC Datenquelle Remote Views werden verwendet: – – Zugriff auf Fremddaten (Back End) Einbinden von FoxPro 2.x Tabellen in eine VFP Umgebung ohne die FoxPro Tabellen zu konvertieren. (Parallele Entwicklung) © 1999 TMN-Systemberatung GmbH Remote Views aufbauen (1) In der Regel sind Kenntnisse des Back End Systems unabdingbar. 1. Schritt ODBC Datenquelle definieren © 1999 TMN-Systemberatung GmbH Remote Views aufbauen (2) Welche DSN (Data Source Name) ? – – – User DSN - lokal auf dem Rechner und nur für den aktuellen Benutzer verfügbar System DSN - lokal auf dem Rechner und für den alle Benutzer mit den demeentsprechenden Rechten verfügbar Datei DSN - Datei basierte DSN für alle Benutzer verfügbar, die Zugriff auf diesen Treiber haben. © 1999 TMN-Systemberatung GmbH Remote Views aufbauen (3) Verbindungen verwenden ? – – – Die VFP Verbindung stellt den Mittler zwischen ODBC DSN und dem View dar. Remote Views können auch direkt auf ODBC Datenquellen eingerichtet werden. Wir empfehlen das Verwenden einer Verbindung, da bei Änderungen an der Back End Datenquelle nur die Verbindung neu definiert werden muß. © 1999 TMN-Systemberatung GmbH Remote Views aufbauen (4) Neue Verbindung anlegen Verbindungszeichenfolge ? AnmeldeInformationen Asynchrone Ausführung ? Warnmeldungen ? Weitere Optionen © 1999 TMN-Systemberatung GmbH Remote Views aufbauen (5) Remote View wie einen lokal View aufbauen Aus Performance Gründen wenn möglich parametrisieren -> Kleine Data Sets zu beachten: – – – – Primary Key Generation auf dem Back End ? Validation Rules auf dem Back End ? Transaktionen auf dem Back End ? Ausgereiftes Error Handling nötig ! © 1999 TMN-Systemberatung GmbH Zusammenfassung Lokal Views View Designer Aktualisierungs Kriterien Arbeiten mit Views parameterisierte Views Offline View Remote Views © 1999 TMN-Systemberatung GmbH Anregungen und Fragen TMN-Systemberatung GmbH Allee 62 74072 Heilbronn http://www.tmn-systemberatung.de [email protected] © 1999 TMN-Systemberatung GmbH