Datenbankbefehle

Einige wichtige Datenbankbefehle bzw. Abläufe für manuelle Datenbankreparaturen

 

Reparatur Angebotsdatenbank angebot2.dbf (kopiert Datensätze aus der defekten Datenbank in eine leere "ORG"-Datenbank

 

use C:\SICH\ANGEBOTE\ORG\angebot2.dbf

append from C:\SICH\ANGEBOTE\angebot2.dbf for not dele()

close all

 

 

 

*           leeren Datensatz in Liefer2.dbf finden (Datensatz existiert bereits)

 brow all for empty(id_li2)

 

*        Anzeige des Lieferdatums mit Monat und Jahr:

"Liefer- bzw. Leistungsdatum : " + alltrim(cmonth(beleg1.termin)) + " " +

alltrim(str(year(beleg1.termin)))

 

*        Zusätzliches Feld im Formular holen

 iif(seek(beleg1.knr,“Kunden“),Kunden.knr,““)
 iif(seek(beleg1.mitnr,"Mitarbeiter"),mitarbeiter.mc,"") = Mitarbeitermc in Rechnung

 

*        Zusätzliches Feld aus Artikeldatei ins Formular (Materialauszug) holen

 iif(seek(upper(bericht.katnr)+upper(alltrim(bericht.artnr)),"Artikel"),artikel.drf,"")

 Wichtig: bei der Artikeldatenbank muss fast immer der Katalogname

mitgenommen werden!

 

*        Zusätzliches Feld aus Projektdatei ins Formlar holen

 IIF(SEEK(gu_mandant+bericht.pronr,"projekte"),projekte.promc,"")

 Wichtig: bei allen Datenbanken wo der Mandant hinterlegt ist, muß dieses Feld mitberücksichtigt werden!

 

*        Zahl von einem Textfeld in ein Zahlenfeld kopieren

 repl all mindest with round(val(scode),2) for katnr="HOLTER"        

 kopiert einen Wert aus dem Textfeld "scode" in das Zahlenfeld "Mindest"

 Hinweis: Kommastellen werden nur dann übernommen, wenn als Kommazeichen ein "." (Punkt!!) verwendet wird - z.B. 1.44

 

 

*        Wichtige Systemdateien

 

*        VFXSYSID        =        laufende Nummer für Datensatzanzahl

 *        VFXUSER        =        Benutzerdatei

 *        VFXSYS        =        Firmendateneinstellungen

 *        VFXRES        =        Fenstereinstellungen

 *        PARAMETER =        Parametereinstellungen Belegarten

 

*        Umlaute umwandeln

 

         repl all bez1 with oemtoansi(bez1)

 oder        repl all bez1 with ansitooem(bez1)

 

 

*        schnelle Bearbeitung für einzelne Artikelkataloge

 

 use \eprojekt\data\artikel.dbf

 set order to katnr

 set key to “HOLTER”

 

 ACHTUNG: ein “pack” hebt den key wieder auf und muß neu eingegeben werden

 

 

 

 

*        einzelne Zeichen ersetzen

 

 repl all str with strstran(str,“ß“,“ss“)

 ersetzt im Feld str(Strasse) das Zeichen “ß” durch “ss”

 

*        Druckbedingung wenn Zeichen "x" in Feld oder Text vorkommt

 "x" $ mline(bericht.atextm,15)                = Feld wird gedruckt wenn im Memofeld (Vorlauftext) in der Textzeile 15 irgendwo ein "x" vorkommt

 "x" $ bericht.promc                        = Feld wird gedruckt wenn im Projektmatchcode irgendwo ein "x" vorkommt

 

*        Datumsfeld Format bearbeiten

 

 set date to german

 repl all datum with ctod(“01.01.2006”)

 

 brow all for k7 = ctod("01.01.2008")

 

*        Variable für Bilderdruck

 lbild = .T.

 

*        Artikeltexte nach defekter Memodatei für angebot2 herstellen

 

 Wenn die Momodatei für angebot2, rechnung2 usw.. defekt ist, sind keine

positionstexte mehr sichtbar. Bezeichnung 1 und Bezeichnung 2 kann wieder

hergestellt werden, Langtexte für Gruppen, Positionen oder Textpositionen

gehen verloren.

 

repl all text with bez1 + chr(13) + bez2

 

*        Bilderdruck wenn Dateiname einem Datenbankfeld entspricht

z.B. Kundennummer im Anlagenetikett, wobei sich das Bild im Verzeichnis \eprojekt\logo befindet uns so heißt wie die Kundennummer

 

Hier muß eine Variable definiert werden, die den kompletten String enthält. z.B. Variable logo entspricht:
"\eprojekt\logo" + alltrim(str(anlage1.knr)) + ".jpg)
Im Bilderfeld muß dann diese Variable so eingetragen werden: (logo)
Achtung: die Druckbedingung so stellen, daß das Bild nicht gedruckt
wird, wenn es dazu kein passendes Bild gibt, sonst kommt Fehler
Datei oder Dateiname nicht vorhanden!

z.B. nur drucken wenn im Feld K3 der Anlage ein X steht

 

*        Bilderdruck wenn Dateiinfo aus Datenbankfeld kommt

 z.B. Bild aus Anlage = anlage1.bild

Im Bilderfeld muß dann diese Variable so eingetragen werden:
(alltrim(anlage1.bild))
Achtung: die Druckbedingung so stellen, daß das Bild nicht gedruckt
wird, wenn es dazu kein passendes Bild gibt, sonst kommt Fehler
Datei oder Dateiname nicht vorhanden!

z.B. !empty(anlage1.bild)

 

*        Zeilen Langtext (Memofeld) zählen

 memlines(beleg1.atextm)

 

*        Memotexte ändern (fügt in der ersten Zeile des Textfeldes einen Text ein, wenn das erste Zeichen in der ersten Zeile ein ":" ist)

 repl all notizen with "13.10.2015 Info Birgit Nachruf Steuerreform 2015" + notizen for left(mline(notizen,1),1)=":"

 

*        Felder neu durchnummerieren

 repl all knr with recno() + 20000 ergibt eine neue Kundennummer ab 20000

 

*        Seitennummerierung z.B. Seite 1 von 11
 "Seite " + alltrim(str(_pageno)) + " von " + alltrim(str(_pagetotal))

 

*        Übertrag fortlaufend

 bericht.kontrolle

 

*        Fußzeilen nur auf letzter Seite drucken

 Druckbedingung: _pageno = _pagetotal

 

*        Variablen für Mandanten - Formulargestaltung

 gu_mankopf        = Kopftext Mandant (bei Überlauf vergrößern mehrere Textzeilen)

 gu_manfuß        = Fußtext Mandant (bei Überlauf vergrößern mehrere Textzeilen)

 gu_manprog        = Kurzbezeichung Mandant (1)

 gu_mandant        = Mandantenbuchstabe

 gu_manrepo        = Mandantenverzeichnis für Formulare

 gu_manmwst        = Mehrwertsteuersatz Mandant

 

*        Kundenindex Feld id_kund neu aufbauen (Feld hat 10 Stellen) wenn höchstens 9999

Kunden vorhanden sind        

repl all id_kund with str(recno() + 1000)

repl all id_kund with “000000” + alltrim(id_kund)

 

*        Seitennummerierung z.B. Seite 1 von 11
 "Seite " + alltrim(str(_pageno)) + " von " + alltrim(str(_pagetotal))

 

*        Datensätze einfügen

 Append from D:\eprojekt\data\angebot1.dbf for not dele()

 Fügt nur Datensätze ein, die nicht als gelöscht markiert sind

 

*        Datenbank mit anderer Sortierung ausgeben

 z.B. Kundendatenbank nach Kundennummer sortiert

 sort on knr to D:\EPROJEKT\DATASICH\kundensortknr.dbf

 

*        Lizenzen

 https://seacloud.steurer.cc/d/bd3055b326/