Seite 1 von 1

Summe errechnen mit Cheetah-Database?

Verfasst: 24.01.2007 11:43
von Marco
Wer kennt sich mit „Cheetah“ aus?

Komme einfach nicht weiter :cry:

Möchte die Summe errechnen lassen.

http://www.planetsquires.com/cheetah.htm

Code: Alles auswählen

IncludeFile "Cheetah2.pbi"

xdbUseDLL()

FileName.s = "SumTest.dbf"
Global hdb

FieldArray.s = "ID, N, 6, 0;"
FieldArray.s + "TEXT, C, 20, 0;"
FieldArray.s + "ZAHL, N, 10, 2;"
FieldArray.s + "PREIS, N, 10, 2;"

xdbCreate(FileName, FieldArray.s)

hdb.l = xdbOpen(FileName, "")

For z=1 To 10
     xdbClearBuffer(hdb)
     xdbAssignField(hdb,"",1, Str(z))
     xdbAssignField(hdb,"",2, "Demo"+Str(z))
     xdbAssignField(hdb,"",3, Str(Random(10000)))
     xdbAssignField(hdb,"",4, Str(Random(100))+"."+Str(Random(99)))
     xdbAppendRecord(hdb)
Next

Debug "Anzhal Records : "+Str(xdbRecordCount(hdb))

xdbMoveFirst(hdb, 0)

query1 = xdbCreateQuery(hdb) 
xdbQueryCondition(query1, 0, "PREIS", #LESS_THAN, "1000", "") 
xdbQueryCondition(query1, 0, "PREIS", 9, "", "") 
xdbQueryExecute(query1)
xdbMoveFirst(query1, 0)

Debug  xdbQuerySUM(query1, "PREIS") 

Repeat
   Debug xdbFieldValue(query1, "", 3)+" - "+xdbFieldValue(query1, "", 4)
   xdbMoveNext(query1, 0)
Until xdbEOF(query1)

xdbClose(hdb)
xdbFreeDLL()
End

-----------
codetags gesetzt [bobobo]

Verfasst: 24.01.2007 13:40
von bobobo
gibts da nicht auch #SUM ??

Verfasst: 24.01.2007 15:55
von Marco
Danke aber
#SUM = 9
ist als feste für xdbQueryCondition(query1, 0, "PREIS",#SUM, "", "") hinterlegt :cry:

Verfasst: 24.01.2007 19:07
von bobobo
und ? ergibt das denn nicht irgendwie die Summe der Preise ?

Verfasst: 25.01.2007 08:54
von Marco
Nöööö :cry:

Code: Alles auswählen

code]
query1 = xdbCreateQuery(hdb) 
xdbQueryCondition(query1, 0, "PREIS", #LESS_THAN, "1000", "") 
xdbQueryCondition(query1, 0, "PREIS", #SUM, "", "") 
xdbQueryExecute(query1)

Debug  xdbQuerySUM(query1, "PREIS") 
Debug #SUM
xdbQuerySUM(query1, "PREIS") =0
#SUM = 9

Auch der Code aus dem Cheetah Forum funzt nicht´ :cry:

Code: Alles auswählen

query1& = xdbCreateQuery&(DBFhandle) 
Call xdbQueryCondition(query1&, 0, "km", NOT_EQUAL_TO&, "-1", "") 
Call xdbQueryCondition(query1&, 0, "km", SUM&, "", "") 
Call xdbQueryExecute(query1&) 

kilometers = xdbQuerySUM#(query1&, "km") 
http://www.planetsquires.com/forums/vie ... hlight=sum

Verfasst: 25.01.2007 09:21
von Kiffi
Marco hat geschrieben::cry:
dann benutze doch 'n anständiges System: SQLite

PB-Code ist im Board massig vorhanden.

Grüße ... Kiffi

Verfasst: 25.01.2007 10:31
von Marco

Code: Alles auswählen

XIncludeFile "SQLite3_Include.pbi" 

If SQLiteInit("sqlite3.dll") = 0 
  MessageRequester("Fehler", "SQLite.dll fehlt !!") : End 
EndIf 

DB = SQLiteOpen("test.db") 
If DB = #False 
  MessageRequester("Fehler", SQliteErrorMsg(DB)) : End 
EndIf 

If SQliteExecute(DB, "CREATE TABLE Test_Table (Nummer, Preis, Menge)") = #False 
  Debug SQliteErrorMsg(DB) 
Else 
  For r = 1 To 5 
    If SQliteExecute(DB, "INSERT INTO Test_Table (Nummer, Preis, Menge) VALUES ('" + Str(Random(10)+1) + "', '" + Str(Random(10)+1) + "', '" + Str(Random(10)) + "')") = #False 
      Debug SQliteErrorMsg(DB) 
    EndIf 
  Next 
EndIf 


Table.SQ3_TABLEMAP 
SQliteGetTable(DB, "SELECT * FROM Test_Table", Table) 
If Table 
  While SQLiteNextRow(Table) 
    i + 1 
    Debug "Zeile " + Str(i) + ":" 
    While SQLiteNextCol(Table) 
      Debug SQLiteValue(Table) 
    Wend 
  Wend 
  SQliteFreeTable(Table) 
EndIf 

SQLiteClose(DB) 
SQLiteEnd() 
und jetzt ?

Verfasst: 25.01.2007 10:42
von Kiffi
Marco hat geschrieben:und jetzt ?
Du möchtest die Summer der Preise haben, korrekt?

Code: Alles auswählen

SQLiteGetTable(DB, "SELECT Sum(Preis) As Summe FROM Test_Table", Table)
Grüße ... Kiffi

Verfasst: 25.01.2007 10:48
von Marco
:D Überzeugt :D
Danke