powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TrueGrid 7.0 Не отображается последняя строка
7 сообщений из 7, страница 1 из 1
TrueGrid 7.0 Не отображается последняя строка
    #36978808
XacuMka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,
Использую: База Аксесс, VB6, TrueDBGrid 7.0 , ADO через строку
Возникла проблема:
Таблица с N строками, ado подключается нормально.
При первом подключении видит все необходимые строки, когда срабатывает код (будет ниже) не видит последнюю. Если прогонять вручную F8 то в конце показывает все! У меня уже мозг сломался.
Цель - поиск в одной таблице по значениям другой и найденные значения сохраняются в третью, дальше будет идти их дополнение и обработка, сейчас не весь сделан.
авторPrivate Sub FindItems_Click()
Dim TotalRecordCount As Long
Dim rsPriceList As ADODB.Recordset
Dim rsSearchPriceList As ADODB.Recordset
Dim p1 As String
Dim p2 As String
Dim p3 As String
Call OpenConnToMDB
db1.Execute "DELETE FROM ОбработкаПрайса"
TotalRecordCount = Me.TDPriceList.Recordset.RecordCount
MainMenu.ProgressBar1.Max = TotalRecordCount
Set rsPriceList = Me.TDPriceList.Recordset
UpdateLog ("начинаем обработку прайс-листа, кол-во строк: " + CStr(TotalRecordCount))
If TotalRecordCount <> 0 Then
rsPriceList.MoveFirst
For i = 1 To TotalRecordCount
MainMenu.ProgressBar1.Value = i
Me.AdodcSearchResult.ConnectionString = ConString
Me.AdodcSearchResult.RecordSource = "SELECT * FROM Значения where ИскомоеЗначение LIKE '" + rsPriceList!Поле1 + "'"
Set rsSearchPriceList = Me.AdodcSearchResult.Recordset
Me.AdodcSearchResult.Refresh
If AdodcSearchResult.Recordset.RecordCount <> 0 Then
AdodcSearchResult.Recordset.MoveLast
AdodcSearchResult.Recordset.MoveFirst
p1 = rsPriceList!Поле1
p2 = AdodcSearchResult.Recordset!НеобходЗначение
p3 = AdodcSearchResult.Recordset!ИскомоеЗначение
InsQuery = "Insert into ОбработкаПрайса VALUES ('" & p1 & "','" & p2 & "','" & p3 & "')"
db1.Execute InsQuery
rsPriceList.MoveNext
Else
rsPriceList.MoveNext
End If
Next i
rsPriceList.MoveFirst
Me.AdoPrChange.Refresh
Me.GridPriceChange.Refresh
If Me.AdoPrChange.Recordset.RecordCount <> 0 Then
Me.AdoPrChange.Recordset.MoveLast
Me.AdoPrChange.Recordset.MoveFirst
End If
End If
End Sub
Заранее спасибо, Александр.
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36978919
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Dim TotalRecordCount As Long
Dim rsPriceList As ADODB.Recordset
Dim rsSearchPriceList As ADODB.Recordset
Dim p1 As String
Dim p2 As String
Dim p3 As String
Call OpenConnToMDB
db1.Execute "DELETE FROM ОбработкаПрайса"
    TotalRecordCount = Me.TDPriceList.Recordset.RecordCount
    MainMenu.ProgressBar1.Max = TotalRecordCount
    Set rsPriceList = Me.TDPriceList.Recordset
    UpdateLog ("начинаем обработку прайс-листа, кол-во строк: " + CStr(TotalRecordCount))
    If TotalRecordCount <>  0  Then
    rsPriceList.MoveFirst
    For i =  1  To TotalRecordCount
        MainMenu.ProgressBar1.Value = i
        Me.AdodcSearchResult.ConnectionString = ConString
        Me.AdodcSearchResult.RecordSource = "SELECT * FROM Значения where ИскомоеЗначение LIKE '" + rsPriceList!Поле1 + "'"
        Set rsSearchPriceList = Me.AdodcSearchResult.Recordset
        Me.AdodcSearchResult.Refresh
            If AdodcSearchResult.Recordset.RecordCount <>  0  Then
            AdodcSearchResult.Recordset.MoveLast
            AdodcSearchResult.Recordset.MoveFirst
                p1 = rsPriceList!Поле1
                p2 = AdodcSearchResult.Recordset!НеобходЗначение
                p3 = AdodcSearchResult.Recordset!ИскомоеЗначение
                InsQuery = "Insert into ОбработкаПрайса VALUES ('" & p1 & "','" & p2 & "','" & p3 & "')"
                db1.Execute InsQuery
                rsPriceList.MoveNext
           Else
            rsPriceList.MoveNext
           End If
    Next i
        rsPriceList.MoveFirst
        Me.AdoPrChange.Refresh
        Me.GridPriceChange.Refresh
    If Me.AdoPrChange.Recordset.RecordCount <>  0  Then
        Me.AdoPrChange.Recordset.MoveLast
        Me.AdoPrChange.Recordset.MoveFirst
    End If
End If
End Sub
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36978971
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XacuMkaЦель - поиск в одной таблице по значениям другой и найденные значения сохраняются в третью

Такое впечатление, что все это можно сделать парой SQL-запросов, чем гонять такую тучу данных через клиента и ADODC и делать такую массу ненужных телодвижений - тут черт ногу сломит...

Есть вменяемое ТЗ?
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36979028
XacuMka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Нет, нету.
попробую объяснить так:
Таблица "Прайс" содержит названия товаров
Таблица "Значения" содержит шаблоны названий товаров и значение на которое нужно заменить название из таблицы прайс.
Таблица "ОбработкаПрайса" содержит новый прайс с измененными названиями товаров.
Ну и конечно в процессе обработки нужно вывести пользователю информацию по совпадениям и в случае необходимости (отсутствует шаблон) предложить его добавитью
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36979046
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XacuMka,

Это все делается единственным SQL-запросом.

Работа с пользователем по оставшимся позициям - тема отдельная.
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36979073
XacuMka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,
Сижу разбираюсь)
Раньше работал с MS SQl, а сейчас ограничили Access'ом.
Он меня очень огорчает ((((( Неудобно и непонятно.
Думаю, что косяк со строчкой тоже от него идет.
...
Рейтинг: 0 / 0
TrueGrid 7.0 Не отображается последняя строка
    #36979144
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT INTO и JOIN есть и в аксессе
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TrueGrid 7.0 Не отображается последняя строка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]