Страница: 1 |
Помогите новичку! В программе я несколько раз обрашаюсь на датарепорт. Он запоминает первый и в следующий раз когда я даю обрашения он возрашает первую который он запомнил. как сделат помогите пожалуйста! Заранее блогодарен
спасибо за отклик. Когда я открываю дата репорт в первый раз то есть 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=Falseata Source=Файлы dBASE;Mode=Read;Initial Catalog=C:\auto_kor\dbfs" Set adoPrimaryRS = New Recordset dbSec.CursorLocation = adUseClient dbSec.Open "Provider=Microsoft.Jet.OLEDB.4.0ata 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
Хммм... такие вещи и с Дата Репортёром... Мазохизмус однако, батенька... Ну ладно: Совет первый: После ReportForm_Unload обязательно сбрасывай ее в Nothing. То есть Set rptDiler = Nothing. Совет второй: Так как Репортёр не позволяет работать с данными динамически, то переходи на Crystal Reports. Потратишь неделю на освоение, и потом будешь всю жизнь этому благодарен. Удачи! To User Unknown А где найти Crystal Reports Спасибо Купить. Только в ларьках и не всех. На варезных сайтах не найдешь. Да и огромен он по-размерам... У меня урезанная версия и та на 120М (в ужатом раром методе 70М). Я попробовал но не идет. Все равно дает старый резултат Чесно не смог разобрать твой код, но омоему трабла в том что и рекордсет тоже нужно уничтожать после считывания данных попробуй так: cmdPechat11_click() if и поехало ... end if set adoprimaryrs = nothing end sub Страница: 1 |
Вопрос: Дата репорт
Добавлено: 02.12.02 07:26
Автор вопроса: Umr | ICQ: 30895299
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #1
Добавлено: 02.12.02 07:44
Ни слова не понял. Объясни вразумительно. Кто "первый" и какую "первую".
Номер ответа: 2
Автор ответа:
Umr
ICQ: 30895299
Вопросов: 4
Ответов: 13
Профиль | | #2
Добавлено: 02.12.02 09:25
Номер ответа: 3
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #3
Добавлено: 02.12.02 10:30
Номер ответа: 4
Автор ответа:
Umr
ICQ: 30895299
Вопросов: 4
Ответов: 13
Профиль | | #4
Добавлено: 02.12.02 11:44
Номер ответа: 5
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #5
Добавлено: 02.12.02 11:49
Номер ответа: 6
Автор ответа:
Umr
ICQ: 30895299
Вопросов: 4
Ответов: 13
Профиль | | #6
Добавлено: 02.12.02 11:57
Номер ответа: 7
Автор ответа:
Last_Santa
ICQ: 200700724
Вопросов: 38
Ответов: 329
Web-сайт:
Профиль | | #7
Добавлено: 03.12.02 02:51