Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / TrueGrid 7.0 Не отображается последняя строка / 7 сообщений из 7, страница 1 из 1
26.11.2010, 12:59
    #36978808
XacuMka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TrueGrid 7.0 Не отображается последняя строка
Здравствуйте,
Использую: База Аксесс, 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
26.11.2010, 13:27
    #36978919
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TrueGrid 7.0 Не отображается последняя строка
Код: 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
26.11.2010, 13:41
    #36978971
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TrueGrid 7.0 Не отображается последняя строка
XacuMkaЦель - поиск в одной таблице по значениям другой и найденные значения сохраняются в третью

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

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

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

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


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