Indexdateien werden nicht erstellt

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Indexdateien werden nicht erstellt

Beitrag von Rolf Ramacher »

Hallo zusammen,

ich entwickele gerade für einen Kunden ein CRM Modul - - Datenbank dbf foxpro - es werden einfach keine Indexdateien erstellt, wenn ich die Funktion auslöse

das hier ist die Funktion

Code: Alles auswählen

include "xbp.ch"
#Define CRLF Chr(13)+ Chr(10)

Function Index(oDlg)
	Local oStatic, cAlleText, cText, oStatic1

	FileDelete("*.cdx")

	oStatic1 := XbpStatic():new( oDlg,, {50, 70},  {450, 30} ) 
	oStatic1:options := XBPSTATIC_TEXT_CENTER  
	oStatic1:setFontCompoundName( "16.Arial" )
	oStatic1:Create()

	cText:="Indexaufbau für Datenbank: "
	cAlleText:=""
	cAlleText+="Die Indexverzeichnisse Ihrer Datenbanken werden jetzt neu aufgebaut;"
	cAlleText+="Dies kann, je nach Größe Ihres Datenbestandes etwas Zeit in Anspruch nehmen !;"
	cAlleText+=" Bitte warten Sie, bis diese Anzeige gelöscht wird und schalten Sie Ihre Maschine auf keinen Fall aus !"

	oStatic := XbpStatic():new( oDlg,, {50, 250},  {400, 150} ) 
	oStatic:options := XBPSTATIC_TEXT_CENTER + ; 
                      XBPSTATIC_TEXT_WORDBREAK 
 	oStatic:caption := StrTran( cAlleText, ";", Chr(13) )
	oStatic:setFontCompoundName( "14.Arial" )
	oStatic:Create()

   If !Netz_Use("Gruppe.Dbf",.t.)
		Quit
		oStatic1:caption:=(cText+"GRUPPE")
		oStatic1:configure()
		Index on lower(alltrim(name)) tag "name" to "gruppe.cdx"
	Endif

   If !Netz_Use("Adr.Dbf",.t.)
		Quit
		oStatic1:caption:=(cText+"ADR")
		oStatic1:configure()
		Index on kdnr tag "kdnr" to "adr.cdx"
	EndIf

   If !Netz_Use("Produkt.Dbf",.t.)
		Quit
		oStatic1:caption:=(cText+"PRODUKT")
		oStatic1:configure()
		Index on lower(alltrim(name)) tag "name" to "produkt.cdx"
	EndIf

   If !Netz_Use("Rechnung.Dbf",.t.)
		Quit
		oStatic1:caption:=(cText+"RECHNUNG")
		oStatic1:configure()
		Index on kdnr tag "kdnr" to "rechnung.cdx"
	EndIf
	oStatic1:destroy()
	oStatic:destroy()
	Close Data
	msgbox("Der Indexaufbau ist beendet!")
Return Nil

Wenn ich z.B. die gruppe.dbf mit dem Datenbank editor öffne - erscheint der Hinweis Gruppe.Dbf in Benutzung ist - ja auch richtig.

das hier ist die Netz_use - welche prüft, ob die Datenbank Exclusive zu öffnen ist.

Code: Alles auswählen

#Define CRLF Chr(13)+ Chr(10)
Function Netz_Use()
Local lJa:=.f.
PARAMETERS Datei, ex_use, cTitel, Info, Name

If Info="alias"
	If ex_use && exclusive
		Use &Datei New Exclusive Alias Name
	EndIf
Else
	If ex_use && exclusive
		Use &Datei New Exclusive
	EndIf
EndIf
If NetErr()
	lJa:=.f.
	Msgbox("Die Datenbank "+Datei+" ist in Benutzung"+CRLF+;
         "Das Programm an allen Stationen beenden und erneut starten",cTitel)
Else
	lJa:=.t.
EndIf
Return lJa
Die dbesys

Code: Alles auswählen

PROCEDURE DbeSys 
#include "DbfDbe.ch" 
#include "Dmlb.Ch"
 
      IF ! DbeLoad( "FOXDBE", .T.) 
         Alert( "Database-Engine FOXDBE nicht geladen", {"OK"} ) 
      ENDIF 
    
      IF ! DbeLoad( "CDXDBE", .T.) 
         Alert( "Database-Engine CDXDBE nicht geladen", {"OK"} ) 
      ENDIF 
 
      IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" ) 
         Alert( "FOXCDX Database-Engine;" + ; 
                "konnte nicht erzeugt werden" , {"OK"} ) 
      ENDIF 
 
      DbeSetDefault( "FOXCDX" ) 

   RETURN 
RETURN 
Reinschreiben in die z.b. gruppe.dbf funktioniert. Daten stehen ordnungsgemäß drin.

Hat jemand hierzu eine Idee ?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Indexdateien werden nicht erstellt

Beitrag von Wolfgang Ciriack »

Vielleicht mal ein "else " Zweig bauen ?

Code: Alles auswählen

If !Netz_Use("Gruppe.Dbf",.t.)
      Quit
ELSE
      oStatic1:caption:=(cText+"GRUPPE")
      oStatic1:configure()
      Index on lower(alltrim(name)) tag "name" to "gruppe.cdx"
Endif
Viele Grüße
Wolfgang
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Indexdateien werden nicht erstellt [Erledigt]

Beitrag von Rolf Ramacher »

Hallo Wolfgang

ja danke das war es. Manchmal sieht man vor lauter Wald den baum nicht mehr.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Indexdateien werden nicht erstellt

Beitrag von Tom »

Eigentlich könnte dann auch ein gepflegtes [ERLEDIGT] in den Threadtitel. Genau genommen könnte man sogar den gesamten Thread löschen, denn es geht nicht um Daten und Tabellen oder um Indexerstellung, sondern um einen schlichten Flüchtigkeitsfehler bei der Programmierung. Oder?
Herzlich,
Tom
Antworten