powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Хелп ..очень нужна помощь . не обновляется таблица((
25 сообщений из 78, страница 3 из 4
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688216
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем так:

1) Меняем свойство ADODC1.RecordSource на
Код: plaintext
 SELECT * FROM Baz where  [Pl] =  0  order by kl

2) Меняем процедуру Refr на:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Refr()

'On Error Resume Next
'Adodc1.RecordSource = "SELECT * FROM Baz where  [Pl] = 0"
Adodc1.Recordset.Requery

End Sub

И все прекрасно работает.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688225
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говорил же, дайте очищенный проект - давно бы все решили.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688339
Serjinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProВ общем так:

1) Меняем свойство ADODC1.RecordSource на
Код: plaintext
 SELECT * FROM Baz where  [Pl] =  0  order by kl

2) Меняем процедуру Refr на:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Refr()

'On Error Resume Next
'Adodc1.RecordSource = "SELECT * FROM Baz where  [Pl] = 0"
Adodc1.Recordset.Requery

End Sub

И все прекрасно работает.

Неа не прикрасно работает .... должна обновляться вся база в таблице и отображаться значения только по запросу условия ...... а у тебя запрос остается и не меняет данные в таблице .... не нужно комадны запроса закоментировать
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688366
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerjinioНеа не прикрасно работает .... должна обновляться вся база в таблице и отображаться значения только по запросу условия ...... а у тебя запрос остается и не меняет данные в таблице .... не нужно комадны запроса закоментировать
Что-то ты гонишь
1) Данные в таблице меняют команды:
Код: plaintext
1.
Adodc1.Recordset("Pl") =  0 
Adodc1.Recordset.Update

2) Запрос "SELECT" ничего в таблице не меняет и не должен

3) Я добавил "where [Pl] = 0 order by kl" для того, чтобы данные в сетке изначально были отобраны по фильтру и отсортированы. Иначе получается, что сначала ты отображаешь всю таблицу в сетке, потом нажимаешь кнопочку - у тебя исчезает куча записей из сетки (так как изменяется условие) и они выводятся в другом порядке, так как нет никакой сортировки. То есть фиг поймешь, что куда улетело.

Все это сделано в рамках того, как я понял ТЗ, а именно: при нажатии кнопки в текущей записи в таблице поле "Pl" меняется на 0 и эта запись исчезает из сетки. Если прога должна работать как-то по-другому - объясни внятно - подкорректирую.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688376
Serjinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProSerjinioНеа не прикрасно работает .... должна обновляться вся база в таблице и отображаться значения только по запросу условия ...... а у тебя запрос остается и не меняет данные в таблице .... не нужно комадны запроса закоментировать
Что-то ты гонишь
1) Данные в таблице меняют команды:
Код: plaintext
1.
Adodc1.Recordset("Pl") =  0 
Adodc1.Recordset.Update

2) Запрос "SELECT" ничего в таблице не меняет и не должен

3) Я добавил "where [Pl] = 0 order by kl" для того, чтобы данные в сетке изначально были отобраны по фильтру и отсортированы. Иначе получается, что сначала ты отображаешь всю таблицу в сетке, потом нажимаешь кнопочку - у тебя исчезает куча записей из сетки (так как изменяется условие) и они выводятся в другом порядке, так как нет никакой сортировки. То есть фиг поймешь, что куда улетело.

Все это сделано в рамках того, как я понял ТЗ, а именно: при нажатии кнопки в текущей записи в таблице поле "Pl" меняется на 0 и эта запись исчезает из сетки. Если прога должна работать как-то по-другому - объясни внятно - подкорректирую.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Refr()
On Error Resume Next
Adodc1.Refresh

Adodc1.RecordSource = "SELECT * FROM Baz where [Mes]= " & MPlan & " and [God]= " & GodPlan & " AND [Pl] = 1"


Adodc1.Refresh



End Sub

вот так выглядет в реале у меня ... мне не нужна сортировка мне нужно чтоб данные которые менялись индификаторы .. исчезали из таблици.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688393
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinioвот так выглядет в реале у меня ... мне не нужна сортировка мне нужно чтоб данные которые менялись индификаторы .. исчезали из таблици.

Я не понял, что так выглядит в реале. Этот код у тебя не работает нормально, я пытаюсь дать код, который работает нормально.

Сортировку я добавил только для удобства восприятия, иначе при обновлении сетки все перемешивается.

Если ты хочешь что-то удалить из таблицы - используй Delete. Но по-моему, ты опять запутался в терминологии и сетку называешь таблицей. Так ты никогда ни мне, ни компьютеру не сможешь объяснить, что ты хочешь.

Где у тебя меняются идентификаторы - я вообще не вижу, этого нет в данном коде. Идентификатором выступает поле Kl, а меняешь ты Pl

В общем так. ADODC.Refresh - это не то, что тебе нужно.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688452
Serjinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProSerjinioвот так выглядет в реале у меня ... мне не нужна сортировка мне нужно чтоб данные которые менялись индификаторы .. исчезали из таблици.

Я не понял, что так выглядит в реале. Этот код у тебя не работает нормально, я пытаюсь дать код, который работает нормально.

Сортировку я добавил только для удобства восприятия, иначе при обновлении сетки все перемешивается.

Если ты хочешь что-то удалить из таблицы - используй Delete. Но по-моему, ты опять запутался в терминологии и сетку называешь таблицей. Так ты никогда ни мне, ни компьютеру не сможешь объяснить, что ты хочешь.

Где у тебя меняются идентификаторы - я вообще не вижу, этого нет в данном коде. Идентификатором выступает поле Kl, а меняешь ты Pl

В общем так. ADODC.Refresh - это не то, что тебе нужно.


Просто у меня в проге несколько таблиц ...
1. В первой отображаются данные с индификатором 0 ИД=0
2. Во второй отображаются и сидификатором ИД=1
так вот если мы меняем ИД =0 на 1 и выполняем запрос то в таблице он не удаляется а делается выборка из базы для отображения записей с ИД=0
и мне не надо прибивать запись ...она всегда должна оставаться в базе .
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688484
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerjinioПросто у меня в проге несколько таблиц ...
1. В первой отображаются данные с индификатором 0 ИД=0
2. Во второй отображаются и сидификатором ИД=1
так вот если мы меняем ИД =0 на 1 и выполняем запрос то в таблице он не удаляется а делается выборка из базы для отображения записей с ИД=0
и мне не надо прибивать запись ...она всегда должна оставаться в базе .

Давай так.
1) Я не могу называть две совершенно разные сущности в рамках одного ТЗ одним термином - ты меня не понимаешь. В третий раз повторяю: в базе - таблица, на форме - сетка. Если ты хочешь помощи - общайся в этих понятиях, иначе считаю общение дальше бессмысленным.
2) В обрезанном коде только одна сетка - давай ее добьем, а дальше сделаешь по аналогии.
3) Если в сетке должно изначально отображаться что-то одно, то почему ты пишешь select * без where?

В общем, ты мне скажи, как именно должен работать тот обрезанный код, который ты выложил. Причем не путая таблицу и сетку. Я сделаю и выдам тебе результат.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688697
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
42.
43.
44.
45.
46.
Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
    Case vbKeyReturn
      ' Когда пользователь нажимает
      ' клавишу Enter, этот код
      ' осуществляет переход к
      ' следующей ячейке или ряду
      With MSFlexGrid1
        If .Col +  1  <= .Cols -  1  Then
          .Col = .Col +  1 
        ElseIf .Row +  1  <= .Rows -  1  Then
          .Row = .Row +  1 : .Col =  0 
        Else
          .Row =  1 : .Col =  0 
        End If
      End With
    Case vbKeyBack
      ' Удаляет предыдущий символ при
      ' нажатии клавиши Backspace
      With MSFlexGrid1
        If Trim(.Text) <> " " Then _
         .Text = Mid(.Text,  1 , Len(.Text) -  1 )
      End With
    Case Is <  32 
    Case Is >  32 
    Dim SearchChar As String 'что ищем
    Dim SearchString As String 'где ищем
    SearchChar = Chr(KeyAscii) 'образец для поиска
    
    For i =  1  To MSFlexGrid1.Rows -  1 
    SearchChar = Chr(KeyAscii)
    SearchString = MSFlexGrid1.TextMatrix(i,  2 ) 'перебираем ячейки второго столбца
        If InStr(SearchString, SearchChar) <>  0  Then
        
        MSFlexGrid1.Row = i
      
        GoTo fin
        End If
    Next
fin:
      ' Не разрешает вводить непечатные символы
    Case Else ' Разрешает печатать все
      With MSFlexGrid1
        .Text = .Text & Chr(KeyAscii)
      End With
  End Select
End Sub
вот эти строки кода находят позицию но в основном останавливаются на первой позиции по причине того что он ищет букву в записи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Case Is >  32 
    Dim SearchChar As String 'что ищем
    Dim SearchString As String 'где ищем
    SearchChar = Chr(KeyAscii) 'образец для поиска
    
    For i =  1  To MSFlexGrid1.Rows -  1 
    SearchChar = Chr(KeyAscii)
    SearchString = MSFlexGrid1.TextMatrix(i,  2 ) 'перебираем ячейки второго столбца
        If InStr(SearchString, SearchChar) <>  0  Then
        
        MSFlexGrid1.Row = i
      
        GoTo fin
        End If
    Next
fin:
пробовал также сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Case Is >  32 
    Dim SearchChar As String 'что ищем
    Dim SearchString As String 'где ищем
    SearchChar = Chr(KeyAscii) 'образец для поиска
    a=left(SearchString, 1 )
    For i =  1  To MSFlexGrid1.Rows -  1 
    SearchChar = Chr(KeyAscii)
    SearchString = MSFlexGrid1.TextMatrix(i,  2 ) 'перебираем ячейки второго столбца
        If InStr(a, SearchChar) <>  0  Then
        
        MSFlexGrid1.Row = i
      
        GoTo fin
        End If
    Next
fin:
находит по первой букве вроде ниче ,но хотелось бы ,чтобы при быстром наборе клавиш
допустим (ябл, переходило на строку яблоко)
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688733
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

Глянул, а проблема-то в чем?
Ты ищешь одиночный символ и находишь его.
Ищи подстроку, будешь находить подстроку.
И вообще, зачем тут все эти изобретения? Не проще текстбокс поставить рядом с сеткой и вводить в него то, что собираешься искать?
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688813
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
а как сделать чтобы она искала первые , потом вторые
.по типу ввел яб и она перешла на яблоко(а то если в первой строке будет "кряб" допустим она на нем остановится)
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688830
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Код: plaintext
1.
2.
Adodc1.Recordset("Pl") =  0 
Adodc1.Recordset.Update
у него этот код вообще не работает
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688835
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinio,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Command2_Click()
        
        Adodc1.Recordset("Pl").Value =  0 
        Adodc1.Recordset.Update
        
        Call Refr
End Sub

Private Sub Refr()

On Error Resume Next
Adodc1.Refresh

Adodc1.RecordSource = "SELECT * FROM Baz where  [Pl] = 1 order by kl"


Adodc1.Refresh
'Adodc1.Recordset.Requery


End Sub
вот так сделайте и все нормально будет
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688841
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinio,
в свойствах adodc этот запрос
Код: plaintext
SELECT * from Baz
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688863
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admSerjinio,
в свойствах adodc этот запрос
Код: plaintext
SELECT * from Baz

лучше так , зачем вам чтобы нули отображались
Код: plaintext
SELECT * FROM Baz where  [Pl] =  1  order by kl
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688873
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
а как сделать чтобы она искала первые , потом вторые
.по типу ввел яб и она перешла на яблоко(а то если в первой строке будет "кряб" допустим она на нем остановится)
Ну сравнивай тогда Like вместо InStr

aduka05admShocker.Pro,
Код: plaintext
1.
2.
Adodc1.Recordset("Pl") =  0 
Adodc1.Recordset.Update
у него этот код вообще не работает
Это еще почему? Этот фрагмент как раз я не трогал и он работает и исправно пишет нолик в таблицу.
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688883
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Shocker.ProЭто еще почему? Этот фрагмент как раз я не трогал и он работает и исправно пишет нолик в таблицу.
че то у меня он никакой нолик не ставил
а вот так сразу пошел)))
Код: plaintext
1.
Adodc1.Recordset("Pl").Value =  0 
Adodc1.Recordset.Update
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688886
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
работает оказывается)) странно видимо запрос не тот был))
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688906
Serjinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем ответа не нашел .....
зделал от противного .....импортировал все базы в MSSQL... и баста
переписал файл DSN .....работает без глюков только так...

Я так думаю проблемка в том ..что у меня на форме куча таблиц ... и делая выбор по одной таблици по запросу данные меняются в других.... идет много запросов и базы аксесса не справляются с обьемом вот и происходит такая лажа (((
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688911
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinio,
и че refresh не используете?
скрин дайте посмотреть вашей формы
че то у вас так много adodc было))
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36688919
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim testCheck As Boolean
SearchChar = Chr(KeyAscii) 'образец для поиска
For i =  1  To MSFlexGrid1.Rows -  1 
SearchString = MSFlexGrid1.TextMatrix(i,  2 ) 'перебираем ячейки второго столбца
testCheck = SearchChar Like SearchString
If testCheck = True Then
MSFlexGrid1.Row = i
GoTo fin
End If
Next
че то по этому like нормальную инфу найти не могу и то там регистр букв важен насколько я понял
а так не работает такая конструкция
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36689110
kiv-1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinio,

Решение Вашей проблемы очень просто, более того, на мой взгляд оно практичней, я использовал следующий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Command2_Click()
        Adodc1.Recordset("Pl") =  0 
        Adodc1.Recordset.Update
        Adodc1.RecordSource = "SELECT * FROM Baz where  [Pl] = 0 order by kl"
        Adodc1.Refresh
        DataGrid1.Refresh
        'Call Refr
End Sub

Чтобы увидеть изменения мгновенно, можно и так:
Код: plaintext
1.
2.
3.
4.
5.
        Adodc1.Recordset("Pl") =  0 
        Adodc1.Recordset.Update
        DataGrid1.Refresh
        'Call Refr
End Sub
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36689164
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admче то по этому like нормальную инфу найти не могу и то там регистр букв важен насколько я понял
а так не работает такая конструкция

Код: plaintext
testCheck = SearchString Like SearchChar+"*"

если бы не регистр букв, я бы предложил сравнивать с помощью "="
а если нужен регистронезависимый поиск - тогда Like - его поиск зависить от Option Compare

Еще регистронезависимо можно так:
Код: plaintext
testCheck = LCase(Left$(SearchString,Len(SearchChar))) = LCase(SearchChar)
причем Len и LCase(SearchChar) можно вычислить заранее, чтобы не вычислять их каждый раз в цикле
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36689501
Serjinio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aduka05admSerjinio,
и че refresh не используете?
скрин дайте посмотреть вашей формы
че то у вас так много adodc было))

Скидываю скригшом моего гемороя .
там таких окон еще целая куча ..... прога по планированию производства
...
Рейтинг: 0 / 0
Хелп ..очень нужна помощь . не обновляется таблица((
    #36689726
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serjinio,
сами писали прогу?
...
Рейтинг: 0 / 0
25 сообщений из 78, страница 3 из 4
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Хелп ..очень нужна помощь . не обновляется таблица((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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