260 likes | 422 Vues
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
E N D
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.
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....)
Views mit dem Designer erstellen (1) • Views benötigen immer einen DBC • Die Definition des View wird im DBC gespeichert • Neue lokale Ansicht • Tabellen auswählen • Felder auswählen • Verknüpfung erstellen • Vorhandene Relationen (Verknüpfungen) werden automatisch in JOINS umgesetzt. • Filter definieren
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
Aktualisierungskriterien • Eindeutige Felder (möglichst primär indiziert) müssen in die Feldliste mit auf-genommen 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
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.
Arbeiten mit Views • Views können wie Tabellen mit Buffering arbeiten und über Relationen mit anderen Tabellen verknüpft werden.
Parameter in Views (1) • Nicht alle Datensätze müssen auf einmal geladen werden. • Die Sicht auf Ihre Daten kann zur Laufzeit geändert werdenBsp: Nur die zur Firma 1 gehörigen Ansprechpartner anzeigen. • Ansichtsparameter definieren • Parameter in Filterausdruck eintragen.
Parameter in Views (2) • 1. Möglichkeit:Beim Öffnen des Views wird der Benutzer nach dem Parameter gefragt.
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 = 1USE FIRMANSP • REQUERY() • Mit Hilfe des Requery Befehls können Sie den View jederzeit aktualisieren (z.B. bei Änderung des Parameters.)
Weiteres zu Views • Views programmatisch erstellen • CREATE SQL VIEW [ViewName ] [AS SQLSELECTStatement] • Bei größeren Views sinnvoll, da der View Designer einige Bugs hat. • Validierung, Standardwerte.... • Können Sie einem View wie jeder Tabelle mittelsDBSETPROP(„View.Field“,“FIELD“,Property, eValue) zugeordnet werden. • Hier empfiehlt sich der Einsatz von Tools • Views können temporär indiziert werden
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
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
Offline Views aktualisieren • USE ViewName ONLINE • Schaltet den View Online ohne Update der Ursprungstabellen. • TABLEUPDATE() • 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
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.
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)
Remote Views aufbauen (1) • In der Regel sind Kenntnisse des Back End Systems unabdingbar. • 1. Schritt ODBC Datenquelle definieren
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.
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ß.
Remote Views aufbauen (4) • Neue Verbindung anlegen • Verbindungs-zeichenfolge ? • Anmelde-Informationen • AsynchroneAusführung ? • Warnmeldungen ? • Weitere Optionen
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 !
Zusammenfassung • Lokal Views • View Designer • Aktualisierungs Kriterien • Arbeiten mit Views • parameterisierte Views • Offline View • Remote Views
Anregungen und Fragen TMN-Systemberatung GmbH Allee 62 74072 Heilbronn http://www.tmn-systemberatung.de info@tmn-systemberatung.de