| |
|
|
E.T. | ¡Hola a todos, Yo una (schönes) Datenbankprog, qué auch (a ahora) wunderbar funktioniert. Nun tener Yo aber el problema, el Yo una Búsqueda encima una numerisches Feld no hinbekomme: Yo habe de el DB una Index encima 4 numerische Felder erstellt (son Tel.-Nummern drin), el redactar klappt auch. Wenn Yo ahora en el Index con @dbfind búsqueda, bekomme Yo aber no Treffer en el Index zurück. Wenn Yo el gleiche con el Index para (Name, Vorname) oder (Geb.-Datum) mache funzt lo, sólo el blöden Tel.Nummern querer no. Das zuweisen des Index klappt (lt.Rückmeldung) auch, sólo se nix gefunden. El DB es geöffnet, el Index erstellt, auslesen el Felder con el Tel.-Nummern klappt auch. Nur sólo el Suchen en diesem Index no. JEMAND NE IDEE?? Oder tener Yo como veces otra vez una riesigen Denkfehler instalado ??? KompilierenMarcaSeparación
Proc DS_FindTel
Parameters Number$ Übergabe-String aus Eingabefeld
Declare Tel_Gef&, IDX%
If Left$(Number$,1) = 0 auf führende O prüfen
Number$ = @Del$(Number$,1,1)
EndIF
In folgenden 3 Zeilen hab ich schon probiert:
Spaces vorn, Spaces hinten, 0n vorn, 0n hinten
Auch auskommentiert, ums so zu lassen, wieS ist.
Hat alles nix geholfen, Ergebniss (Tel_Gef&) immer 0 > Nicht gefunden
While (@Len(Number$) < 15) Suchstring-Länge auf 15 setzen
Number$ = + Number$
EndWhile
IDX% = @dbIndex(IDX_Tel) verwendeten Index festlegen
IfNot IDX% FEHLER Index
@MessageBox(Index konnte nicht geöffnet werden !!!,INFO,262144+64)
Else oder weiter....
@dbGo(TOP) zur Sicherheit beim Test eingebaut, auch schon ohne probiert
Tel_Gef& = @dbfind(Number$,1)
Interne Programmier-Kontrolle, nur zur Info, wird dann entfernt
Gleich sieht man, ob was gefunden wurde !!!
Die zu suchende Nummer wird immer korrekt angezeigt (mit Spaces vorn,
hinten, 0n vorn oder hinten oder so wie übergeben, nur ohne führende Null,
je nach dem, was weiter oben in der Schleife gemacht wird (oder auch nicht,
wenn auskommentiert).
@MessageBox(Gesuchte Nummer : + Number$ +
Länge SuchString : + @str$(@Len(Number$)) +
Gefunden JA [1] / NEIN [0] : + @Str$(Tel_Gef&),INFO,262144+16) War noch nie da!!
Case Tel_Gef& : DS_Einlesen wenn gefunden, Datensatz einlesen
EndIf
@dbIndex(IDX_Name) Wieder Standart-Such-Index setzen
ENDPROC
Hoffe, como kann me alguien helfen, y hoffe más, el mein XProfan10 endlich ankommt.... |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.03.2008 ▲ |
|
|
|
|
E.T. | ¡Hola,
Yo glaub, Yo eben incluso ya qué gefunden: Wenn Yo el Indexe einzeln erstelle (cada Feld una einzelner Index, s.u), kann Yo esta auch einzeln durchsuchen y lo se qué gefunden. Nun funktioniert aber folgendes no, lo se sólo el ERSTE Index durchsucht: KompilierenMarcaSeparación Das dazupacken de Leerzeichen kann Yo sparen, tener Yo eben bemerkt. Nun es el durchsuchen con cada individual Index sí no Stein el Weisen, sabe alguien ne otro Solución ??
Mario |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.03.2008 ▲ |
|
|
|
|
Thomas Freier | El Index-Expediente se sí a erster Punto no fürs Suchen benötigt. Más para el sortierte Anzeige. Wenn du una Eingabe en vier dB-Feldern suchst, mußt du en FIND auch viermal indizieren. Andernfalls SEEK uso. Yo denke, dass el automatische Suchen con una Befehl en varios Datenbankfeldern en keiner Datenbankanwendung posible es. |
|
|
| |
|
|
|
E.T. | En búsqueda en Indizierten Felden se sólo el erste genommen - uno debería eben auch el Ayuda RICHTIG lesen (En más Indices zählt el erste Index). Naja, also Eigentor !! Habs ahora así gemacht, entonces gehts: KompilierenMarcaSeparación
Proc DS_FindTel
Parameters Number$ Übergabe-String aus Eingabefeld
Declare Tel_Gef&, IDX%
If Left$(Number$,1) = 0 auf führende O prüfen
Number$ = @Del$(Number$,1,1)
EndIF
Clear IDX%, Tel_Gef&
IDX% = @dbIndex(IDX_Tel_1,IDX_Tel_2,IDX_Fax_1,IDX_Fax_2,IDX_Handy_1,IDX_Handy_2)
ALLE Indexe überprüfen:
CaseNot IDX% : @MessageBox(Index konnte nicht geöffnet werden !!!,INFO,262144+64)
If IDX%
@dbIndex(IDX_Tel_1)
Tel_Gef& = @dbfind(Number$,1)
IfNot Tel_Gef&
@dbIndex(IDX_Tel_2)
Tel_Gef& = @dbfind(Number$,1)
EndIF
IfNot Tel_Gef&
@dbIndex(IDX_Fax_1)
Tel_Gef& = @dbfind(Number$,1)
EndIF
IfNot Tel_Gef&
@dbIndex(IDX_Fax_2)
Tel_Gef& = @dbfind(Number$,1)
EndIF
IfNot Tel_Gef&
@dbIndex(IDX_Handy_1)
Tel_Gef& = @dbfind(Number$,1)
EndIF
IfNot Tel_Gef&
@dbIndex(IDX_Handy_2)
Tel_Gef& = @dbfind(Number$,1)
EndIF
Interne Programmier-Kontrolle, nur zur Info, wird dann entfernt
Gleich sieht man, ob was gefunden wurde !!!
@MessageBox(Gesuchte Nummer : + Number$ +
Länge SuchString : + @str$(@Len(Number$)) +
Gefunden JA [1,2,...] / NEIN [0] : + @Str$(Tel_Gef&),INFO,262144+16)
Case Tel_Gef& : DS_Einlesen wenn gefunden, Datensatz einlesen
Else
@dbIndex(IDX_Name)
@dbGo(Top)
EndIf
@dbIndex(IDX_Name) Wieder Standart-Such-Index setzen
='./../../funzione-riferimenti/XProfan/volver/'>Volver Tel_Gef&
Dabei me está aufgefallen, como zwar el überprüfen, si todos Indexe disponible son (Línea 8-10) funktioniert, pero en Rückgabe 0 (una Index fehlt) una neues zuweisen des a benutzenden Index para Programa-Abbruch führt. Yo blanco, el überprüfen kann Yo auch anders hacer, es aber ya seltsam...
Mario |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.03.2008 ▲ |
|
|
|
|
Thomas Freier | Beim Indizieren besteht una Begrenzung para el Longitud des Index. Yo glaube es son 110 Signo. Also z.B. 4x Feldlänge N30 = 120= zuviel para Indizieren. Bitte en el Ayuda oder hier danach suchen oder para cada Suchvorgang en el Programa sólo una Feld indizieren. Das son doch sólo algunos Programmzeilen mehr, aber weniger Problemas. |
|
|
| |
|
|
|
E.T. | @Thomas : Gracias para Su Respuesta. Der Index lag encima 4 (6) Felder a15 Signo, also 60 (90) lang. Das debería no el problema ser.
Posesiones después de langen überlegen ahora doch en @dbseek umgebaut. So kann Yo auch el Indexe sparen. Dachte sólo sólo, el suchen en el Index wäre más rápido...
Hab zwar ahora el problema con el Überprüfung no mehr (siehe 2 Posts más oben), aber interessant wäre ya a wissen, woher el Programa-Abbruch kommt.
Mario |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.03.2008 ▲ |
|
|
|
|
Thomas Freier | Das de me como mögliche Fehlerursache beim Indizieren Genannte traf sí no el Kern. Usted erstellst sí getrennt 6 *.ndx y fragst de, si ellos disponible son. Como el *.ndx producido voluntad es sí no ersichtlich. Ob se como todavía una Fehler eingeschlichen ha? Ist como una unsauberer Mix de Alpha- y Num-Feldern? Das suchen con Index es ya más rápido. Ein merkbarer Zeitgewinn es sólo en großen Archivos feststellbar. |
|
|
| |
|
|
|
E.T. | |
|
|
|
Thomas Freier | Lo sieht así de, dass todos *.dbf y *.ndx beim Programmstart geöffnet, o. producido voluntad. Stößt du a el Grenze el 15 geöffneten Archivos (Ayuda, Referenz)? Como XProfan el Befehl reIndex no sabe, Tuve me lo angewöhnt, el gewünschte *.ndx sólo a erzeugen, si ellos benötigt se y luego es sichergestellt, dass todos Datenbankänderungen erfasst son. In solchem Fall sólo una ndx-Name, antes Erstellung löschen, Abfrage y suchen y el eben para cada Feld en el gesucht voluntad se. Dann es en uno kurzen doWhile-Bucle abgefragt, si Feld-Nr. verwendet y ser el Felder hintereinander mentira. Yo sería auch no Fehlermeldung ausgeben, si la *.ndx no disponible es, pero entonces automáticamente de dbfind a dbseek wechseln. |
|
|
| |
|
|
|
E.T. | Lo se sólo EINE Datenbank geöffnet y verschiedene Indexe erstellt, welche entonces jeweils en Bearbeitung para sortieren genutzt voluntad (natürlich siempre sólo uno, entonces veces otra vez una otro). Das el suchen en un Index encima mehrere Felder no funzt kann erkläre Yo así, el en el Index todos Felder en EINEM String posición. Bin Yo en él gekommen en Búsqueda en IDX_Name, welcher de Name + Vorname erstellt es. Dort muss Yo, el Suchbegriff para Name auch sólo en el (vorgegebenen) 30 Stellen auffüllen, en a para Vorname a kommen. Das funktioniert aber auch wunderbar.
Was mich ahora siempre todavía stutzig macht es el Choque después de el Kontrolle, si entonces una otro Index zugewiesen se. Passiert auch en @dbGo... usw. Irgendwo verhaspelt se como qué, habs sólo todavía no gefunden (y XPSE sagt auch nix).
Mario |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 19.03.2008 ▲ |
|
|
|
|
Thomas Freier | @Mario: Yo denke, du hast dein Programa voll en el Grif y alles ausgelotet qué machbar war. So como du el *.ndx verwendest, Yo leichte Zweifel, si el en el Sinne des Erfinders war. An dieser Punto Por favor, Yo @Roland: como con el zulässigen Anzahl de offenen *.ndx pro *.dbf? En dBase III waren sieben. |
|
|
| |
|
|
|
E.T. | @Thomas: Gracias para deine tröstenden Worte.
Posesiones ahora el todo Búsqueda después de Tel-Nummern en mi Prog en dbSeek umgebaut. Como kann Yo pocos (viele) Indexe sparen (son mittlerweile después de Kundenwunsch allein 6 DB-Einträge para Tel-, Fax-, Handy- Nummern geworden). Der Gedanke por Thomas con el Anzahl el Indexe es bien, como se sí XProfan (meines Wissens) a el DBaseIII - Standart hält, es bien posible, el como (en meiner Nutzung el Indexe) el Hase begraben liegt
(Oh, , kurz antes Ostern debería el Hase sí todavía hoppeln, naja, en me son trotzdem 2 en el Pfanne.... ).
Das todo Yo sí mittels Umbau gelöst, bin aber alledem gespannt, si Roland todavía qué dazu hören lässt.
Mario
P.S. Heute tener Yo endlich mein XProfan 10 bekommen. Como kanns sí sólo mejor voluntad. Und ahora schmeise Yo endlich mi Tastatur weg y stecke el Neue ran, welche seit 4 Wochen como liegt. Wenn entonces no mehr abundan unos pocos Anschläge fehlen, voluntad ggf. auch el Fehler en media Quelltexten weniger. Aber uno se en efecto seine Alte (T..) lieb haben.... (Diesen Contribución wenigstens 5veces wegen fehlender Signo korrigiert - ahora reichts !!) |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 20.03.2008 ▲ |
|
|
|