Форум » GUI » Как в MiniGui писать в БД ? » Ответить

Как в MiniGui писать в БД ?

Andrey: Всем привет ! Что-то я совсем заработался.... Не получается даже простая запись в БД.... База получается из 200 заданных ПУСТЫХ записей... Вот текст [more] LOCAL ........ bErrHandler := ErrorBlock( { | VAR | BREAK( VAR ) } ) BEGIN SEQUENCE USE ( cFileDbf ) Alias DBFBASE NEW EXCLUSIVE lOpenDbf := .T. RECOVER MsgStop( "Ошибка ! БАЗА " + HB_ANSITOOEM( cFileDbf ) + " уже открыта !", "Ошибка" ) lOpenDbf := .F. END SEQUENCE ErrorBlock( bErrHandler ) //......................... // ......................... // Если База и Ексел открыты без ошибок IF lOpenDbf .AND. lOpenXls FOR nI := 2 TO nLenRecnoXls cTemp := "" xTemp1 := oSheet:Cells(nI, 1):Value cTemp += Str(nI)+",1 - "+ValType(xTemp1)+ " = " + xTemp1 + CLRF xTemp2 := oSheet:Cells(nI, 2):Value cTemp += Str(nI)+",2 - "+ValType(xTemp2)+ " = " + xTemp2 + CLRF xTemp3 := oSheet:Cells(nI, 3):Value xTemp3 := AllTrim( Str(Int(xTemp3))) cTemp += Str(nI)+",3 - "+ValType(xTemp3)+ " = " + xTemp3 + CLRF xTemp4 := oSheet:Cells(nI, 4):Value cTemp += Str(nI)+",4 - "+ValType(xTemp4)+ " = " + Str(xTemp4) + CLRF xTemp5 := oSheet:Cells(nI, 5):Value cTemp += Str(nI)+",5 - "+ValType(xTemp5)+ " = " + Str(xTemp5) + CLRF MsgInfo( cTemp,"Инфо" ) Select DBFBASE APPEND BLANK Field->USLUGA := xTemp1 //"C", 10,0 Field->ADRES := xTemp2 //"C", 40,0 Field->LC := "00"+xTemp3 //"C", 8,0 Field->SUMMA := xTemp4 //"N", 10,2 Field->BALANS := xTemp5 //"N", 10,2 NEXT ENDIF [/more] Т.е. APPEND BLANK работает нормально, а значения не записываются в поля... Прмогите, кто знает....

Ответов - 8

Dima: Andrey пишет: Field->USLUGA := xTemp1 //"C", 10,0 Вероятно так DBFBASE->USLUGA := xTemp1 или так repl DBFBASE->USLUGA with xTemp1 или так Field USLUGA USLUGA := xTemp1

Andrey: Dima пишет: Вероятно так DBFBASE->USLUGA := xTemp1 Блин, заработало ! Но непонятно, почему же не работает в МиниГуи FIELD->USLUGA := xTemp1 ??? Облом на пустом месте....

gfilatov: Andrey пишет: непонятно, почему же не работает в МиниГуи FIELD->USLUGA := xTemp1 ??? Хе-хе... МиниГуи здесь ни при чем - так работает сейчас Харбор


Pasha: gfilatov пишет: Andrey пишет: цитата: непонятно, почему же не работает в МиниГуи FIELD->USLUGA := xTemp1 ??? Хе-хе... МиниГуи здесь ни при чем - так работает сейчас Харбор А что случилось со стариной харбором с и каких пор возникла такая фича ?

gfilatov: Pasha пишет: с каких пор возникла такая фича ? Да года два уже будет - с тех пор, как Пржемек основательно почистил ядро Харбора

gustow: Да... Тоже как-то часа 3 убил на таком же месте ("ведь раньше ж писало?!..") :)

Pasha: А в чем дело ? В каких случаях не работает присваивание ? Это только для Harbour ? Я сейчас проверил для Harbour сборка июнь 2009 dbAppend() Field->T1 := 1 dbAppend() .. и присваивание сработало В xHarbour и проверять нечего, работает

Andrey: Harbour MiniGUI 1.7 Extended Edition (Build 71) - 2009.07.30 Ваш пример может и сработает, но мой нет. Не знаю из-за чего..... или Ole-Xls виновато или еще-чего нибудь.... не знаю... Просто как дурак бился над записью, ведь я даже предположить не мог такого....



полная версия страницы