Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Дата репорт Добавлено: 02.12.02 07:26  

Автор вопроса:  Umr | ICQ: 30895299 

Помогите новичку!

В программе я несколько раз обрашаюсь на датарепорт. Он запоминает первый и в следующий раз когда я даю обрашения он возрашает первую который он запомнил.

как сделат помогите пожалуйста!

Заранее блогодарен

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 ГАТ



Вопросов: 2
Ответов: 117
 Web-сайт: www.mail.ru
 Профиль | | #1
Добавлено: 02.12.02 07:44
Ни слова не понял. Объясни вразумительно. Кто "первый" и какую "первую".

Ответить

Номер ответа: 2
Автор ответа:
 Umr



ICQ: 30895299 

Вопросов: 4
Ответов: 13
 Профиль | | #2 Добавлено: 02.12.02 09:25

спасибо за отклик.

Когда я открываю дата репорт в первый раз то есть drptest.show vbmodal

дата репорт показывает нормально, если я еше раз даю обрашение то он

дает (тоесть дата репорт) данные который дал в первый раз. Вот код

этого

Private Sub cmdPechat11_Click()

If Txtschet.Text = "" Then

MsgBox "Нет данных", vbCritical + vbOKOnly

Txtschet.SetFocus

Else

Set dbFir = New Connection

Set dbSec = New Connection

dbFir.CursorLocation = adUseClient

dbFir.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Mode=Read;Initial

Catalog=C:\auto_kor\dbfs"

Set adoPrimaryRS = New Recordset

dbSec.CursorLocation = adUseClient

dbSec.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\SkladPechat\SkladPechat.mdb;Persist Security

Info=False"

Set adoSecondaryRS = New Recordset

Dim intCount, intRecno As Integer

Dim intSom As Double

strSQL = "delete * from schet"

If adoSecondaryRS.State = 1 Then adoSecondaryRS.Close

adoSecondaryRS.Open strSQL, dbSec

strSQL = "delete * from schet"

If adoSecondaryRS.State = 1 Then adoSecondaryRS.Close

adoSecondaryRS.Open strSQL, dbSec

strSQL = " SELECT CHET.SCHET, CHET.MARKA, CHET.NAIM, CHET.ED, CHET.CENA, CHET.KOL, CHET.DATA, CHET.NEW_P1,

CHET.NEW_P2, CHET.KURS_US, CHET.G_POL, CHET.USLOV_OTPV, CHET.OSNOV, CHET.CHEREZ, CHET.DOV_NO, PLATEL.CODE, CHET.USLOV_RAS,

PLATEL.NAME, PLATEL.ADRES, PLATEL.BANKE, PLATEL.RAS_SCHET, PLATEL.KTO, PLATEL.MFO, PLATEL.INN, PLATEL.B_ADRES FROM CHET,

PLATEL WHERE CHET.G_POL = PLATEL.CODE AND (CHET.SCHET = '" & Txtschet.Text & "')"

If adoPrimaryRS.State = 1 Then adoPrimaryRS.Close

adoPrimaryRS.Open strSQL, dbFir, adOpenStatic, adLockReadOnly

intCount = adoPrimaryRS.RecordCount

If intCount <> 0 Then

adoPrimaryRS.MoveFirst

intRecno = 1

intItogCena = 0

intItogNew_P1 = 0

intItogNew_P2 = 0

intItogSNDS = 0

intSummaCena = 0

intSummaNew_P1 = 0

intSummaNew_P2 = 0

intSummaSNDS = 0

strSQL = "delete * from schet"

If adoSecondaryRS.State = 1 Then adoSecondaryRS.Close

adoSecondaryRS.Open strSQL, dbSec

Do While Not adoPrimaryRS.EOF

strSCHET = adoPrimaryRS.Fields.Item(0).Value

strMARKA = adoPrimaryRS.Fields.Item(1).Value

strNAIM = adoPrimaryRS.Fields.Item(2).Value

If adoPrimaryRS.Fields.Item(3).Value <> "" Then strED = adoPrimaryRS.Fields.Item(3).Value

Else strED = " "

strCENA = CDbl(adoPrimaryRS.Fields.Item(4).Value)

strKOL = CDbl(adoPrimaryRS.Fields.Item(5).Value)

strDATA = adoPrimaryRS.Fields.Item(6).Value

strNEW_P1 = CDbl(adoPrimaryRS.Fields.Item(7).Value)

strNEW_P2 = CDbl(adoPrimaryRS.Fields.Item(8).Value)

strKURS_US = adoPrimaryRS.Fields.Item(9).Value

strG_POL = adoPrimaryRS.Fields.Item(10).Value

strUSLOV_OTPV = adoPrimaryRS.Fields.Item(11).Value

strOSNOV = adoPrimaryRS.Fields.Item(12).Value

strCHEREZ = adoPrimaryRS.Fields.Item(13).Value

strDOV_NO = adoPrimaryRS.Fields.Item(14).Value

strCODE = adoPrimaryRS.Fields.Item(15).Value

strUSLOV_RAS = adoPrimaryRS.Fields.Item(16).Value

strNAME = adoPrimaryRS.Fields.Item(17).Value

strADRES = adoPrimaryRS.Fields.Item(18).Value

strBANKE = adoPrimaryRS.Fields.Item(19).Value

strRAS_SCHET = adoPrimaryRS.Fields.Item(20).Value

strKTO = adoPrimaryRS.Fields.Item(21).Value

strMFO = adoPrimaryRS.Fields.Item(22).Value

strINN = adoPrimaryRS.Fields.Item(23).Value

strB_ADRES = adoPrimaryRS.Fields.Item(24).Value

If VarType(strKURS_US) = vbNull Then strKURS_US = "0.00" Else strKURS_US =

CDbl(adoPrimaryRS.Fields.Item(9).Value)

If VarType(strG_POL) = vbNull Then strG_POL = "0.00"

If VarType(strUSLOV_OTPV) = vbNull Then strUSLOV_OTPV = " "

If VarType(strOSNOV) = vbNull Then strOSNOV = " "

If VarType(strCHEREZ) = vbNull Then strCHEREZ = " "

If VarType(strDOV_NO) = vbNull Then strDOV_NO = " "

If VarType(strCODE) = vbNull Then strCODE = " "

If VarType(strUSLOV_RAS) = vbNull Then strUSLOV_RAS = " "

If VarType(strNAME) = vbNull Then strNAME = " "

If VarType(strADRES) = vbNull Then strADRES = " "

If VarType(strBANKE) = vbNull Then strBANKE = " "

If VarType(strRAS_SCHET) = vbNull Then strRAS_SCHET = " "

If VarType(strKTO) = vbNull Then strKTO = " "

If VarType(strMFO) = vbNull Then strMFO = " "

If VarType(strINN) = vbNull Then strINN = " "

If VarType(strB_ADRES) = vbNull Then strB_ADRES = " "

intSummaCena = strCENA * strKOL

intSummaNew_P1 = strNEW_P1 * strKOL

Ответить

Номер ответа: 3
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #3 Добавлено: 02.12.02 10:30

Хммм... такие вещи и с Дата Репортёром... Мазохизмус однако, батенька...:) Ну ладно:

Совет первый: После ReportForm_Unload обязательно сбрасывай ее в Nothing. То есть Set rptDiler = Nothing.

Совет второй: Так как Репортёр не позволяет работать с данными динамически, то переходи на Crystal Reports. Потратишь неделю на освоение, и потом будешь всю жизнь этому благодарен.:) Удачи!

Ответить

Номер ответа: 4
Автор ответа:
 Umr



ICQ: 30895299 

Вопросов: 4
Ответов: 13
 Профиль | | #4 Добавлено: 02.12.02 11:44

To User Unknown

А где найти Crystal Reports

Спасибо

Ответить

Номер ответа: 5
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #5 Добавлено: 02.12.02 11:49

Купить. Только в ларьках и не всех. На варезных сайтах не найдешь. Да и огромен он по-размерам... У меня урезанная версия и та на 120М (в ужатом раром методе 70М).

Ответить

Номер ответа: 6
Автор ответа:
 Umr



ICQ: 30895299 

Вопросов: 4
Ответов: 13
 Профиль | | #6 Добавлено: 02.12.02 11:57

Я попробовал но не идет. Все равно дает старый резултат

Ответить

Номер ответа: 7
Автор ответа:
 Last_Santa



ICQ: 200700724 

Вопросов: 38
Ответов: 329
 Web-сайт: localhost
 Профиль | | #7
Добавлено: 03.12.02 02:51

Чесно не смог разобрать твой код, но омоему трабла в том что и рекордсет тоже нужно уничтожать после считывания данных попробуй так:

cmdPechat11_click()

if и поехало

...

end if

set adoprimaryrs = nothing

end sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам