Italia
Foro

Datenbankeintrag löschen

 
Mit diesem Code lösche ich gezielt einen Datenbankeintrag:
KompilierenMarkierenSeparieren
IF CLICKED(kill%) | MenuItem(60)

    MessageBox(Wollen Sie den Eintrag
    +UPPER$(titel$)+
    wirklich löschen ?,Lösch-Funktion,292)

    IF %Button = 6

        CHDIR pfad$+\+verz01$
        @db(Open, #3, pfad$+\+verz01$+\DB_KATALOG.DBF)
        @db(Use,#3)
        @db(Go, Z%)
        @db(Delete)
        @db(Pack)
        @db(close,#3)
        @db(Open, #4, pfad$+\+verz01$+\DB_KATALOG.DBF)
        @db(Use,#4)
        @db(CreateIndex, NAME, IXNAME)
        @db(CreateIndex, BILD, IXBILD)
        @db(close,#4)
        @db(Open, #5, pfad$+\+verz01$+\DB_KATALOG.DBF)
        @db(Use,#5)
        @db(Index, IXNAME, IXBILD)
        @db(close,#5)
        INHALTS_ANZEIGE Hier wird die Eintragsanzeige aktualisiert
        SetFocus(mn_inhalt&)

    ENDIF

ENDIF


Der Eintrag wird auch gelöscht aber anschliessend stehen die Texte der anderen Daten durcheinander. In der Daten-Bank sind 1 Feld mit dem Namen, 1 Feld mit einem Bildernamen und zwei Memofelder. Alles klappt, bloss das Löschen schlägt Purzelbaum - Was ist falsch ?
 
13.06.2008  
 




Thomas
Freier
Irgendwie habe ich Zweifel, dass das vorher so ging. Im Prinzip kann per ein MEMO-Feld keine Index-File erstellt werden.
 
Gruß Thomas
Windows XP SP2, XProfan X2
13.06.2008  
 




Dieter
Zornow
Du öffnest die Datenbank setzt keinen Index und benutzt aber bei db(go,Index die mit Indexvariante anstatt db(GO,feldnr&) Wie Jac schon geschrieben hat dürfen keine Memofelder als Indizes verwendet werden. 4 x Indizes werden auch nicht mehr gepflegt maximal 2
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
14.06.2008  
 



Nun hab ich nach Euren Ratschlägen den Code modifiziert (im ersten Beitrag hab Io l' Code ausgetauscht) und es ist genau so wie vorher. Warum bekomme ich, wenn ich X%=@db(Index, IXNAME, IXBILD) abfrage, eine Null. Laut Aiuto müsste hier eine Eins angezeigt werden. Die Index-File sind doch vorhanden. Seht mir meine blöde Fragerei nach. Nach vielen Jahren Profan-Benutzen arbeite ich das erste Mal mit Datenbank-File. Da sind die Fehler schon vorprogrammiert ! Nobody is perfect !

Nachschlag:
Der Fehler lag bei mir - Getcount ist Nullbasierend (schönes Wort) und die Feldeinträge beginnen mit Eins. Meine Schleife per die Inhaltsanzeige begann auch mit Eins zu zählen und dadurch kam nach dem Löschen eines Datensatzes alles durcheinander ! - Jetzt beginnt die Schleife bei Null und alls klappt.
Danke aber trotzdem per die Tipps zum Thema INDEX
 
14.06.2008  
 




Jac
de
Lad
@Dieter: Ich hatte hier noch nichts geschrieben, schließe mich aber sofort der Meinung an.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.06.2008  
 




Dieter
Zornow
@Jac, du hast recht war ja von Thomas, hatte wohl noch deinen Namen im Kopf, da ich zuvor dein wieder rauf und runter gelesen hatte.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
14.06.2008  
 




Jac
de
Lad
Oh du denkst an mich.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.06.2008  
 



...ich krieg noch die Krise
Alles nach Vorschrift gemacht. Löschen geht jetzt, wenn Io l' letzten Eintrag in der Gridbox lösche.
Nehme ich einen willkürlichen Eintrag , werden die Texte in den Memo-Feldern vertauscht. - Und was ist das per eine File, welche beim Löschen erstellt wird - DB3$$$.D$$ ? - Nervlich total am Boden bitte ich um Aufklärung
 
15.06.2008  
 




Dieter
Zornow
Ich denke mal, dass es mehr mit der Gridbox als mit der Datenbank zusammenhängt, aber ohne zu wissen was du da machst kann dir niemand helfen.
So wie es aussieht liest du die Datenbank in die Gridbox ein, wenn du dann was änderst hat der erste Eintrag in der Gridbox den Index 0 in der Datenbank aber 1 oder wenn du circa einen Index einliest irgend eine andere Datensatznummer, da hängt vielleicht dein Fehler.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
15.06.2008  
 



@Dieter - sowas in der Art hab ich auch in Verdacht. Arbeite schon mit zwei Variablen (Gridbox und Index) - Schalte ich eine Messagebox dazwischen zur Kontrolle, zeigt mir diese den gewählten Eintrag auch an und er wird gelöscht, aber seltsamerweise verschieben sich die Texte der Memo-Felder - das passiert nur, wenn ich eine freie Auswahl treffe. Der letzte angezeigte Eintrag wird ohne Komplikationen gelöscht. - komme aber noch dahinter
 
15.06.2008  
 




Thomas
Freier
@Horst: ich mach es etwas unkonventionell....Datensatz lesen...Felderinhalte + Datensatznummer mit Spaltenbreite 0 in un Zeile.
KompilierenMarkierenSeparieren
1. Spalten definieren
Titel$ = Links;0;180;Mitte;2;100;Nummer;1;0
2. Gridbox erstellen
hGrid&   = Create(GridBox, Dlg%, Titel$, 3, 3, 0, 400, 190)
3. hier werden die Gridbox-Zeilen hinzugefügt
AddString(hGrid&, FELD1|FELD2|Datensatz-Nr)

Zum Ändern (eigene Maske) oder Löschen lese ich die Datensatznummer aus und gehe damit zum Datensatz.
Damit hatte ich bisher Null Probleme, egal wie indiziert oder eine Gridbox oder ein Listview umsortiert wurde.
 
Gruß Thomas
Windows XP SP2, XProfan X2
15.06.2008  
 




Thomas
Freier
@Horst, ich hoffe du hast die Krise überwunden und dbf nicht in die Ecke verbannt.
In meiner Müllkiste fand ich ein Script per MEMO-Feld Daten in einem Listview (bisher nicht verwendet) und etwas in deine Richtung angepasst. Vielleicht findest du da Lösungen.

389 kB
Hochgeladen:17.06.2008
Downloadcounter121
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
17.06.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.708 Views

Untitledvor 0 min.
Tommy18.02.2014
Uwe Lang17.07.2012
funkheld25.05.2012
Georg14.12.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie