powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как DataGrid связать с таблицей в БД?
40 сообщений из 40, показаны все 2 страниц
как DataGrid связать с таблицей в БД?
    #35172532
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как DataGrid связать с таблицей в БД?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35172944
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно вот так.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35174350
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Можно вот так.

сделала тоже самое в своем проекте-выдает ошибку "Method or data member not found"
на строку
Set FClassVoltage.DGClassVoltage.datasourse = rst
на метод datasourse
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35174353
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Klera DEP1Можно вот так.

сделала тоже самое в своем проекте-выдает ошибку "Method or data member not found"
на строку
Set FClassVoltage.DGClassVoltage.datasourse = rst
на метод datasourse

сории -нашла ошибку datasourсe
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35174368
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1 спасибо большое!
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35174509
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуйста :)
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35175728
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возник еще один вопрос - как добавить запись в таблицу(изменить, удалить) если
rst="select * from tabl" -recordset

и нужно добавить в таблицу tabl новую запись(изменить, удалить)?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35175797
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то похожее на это.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35177322
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Что-то похожее на это.

выдает ошибку "Object required" на строку rst.AddNew
?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35177326
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще вопрос: если мне в поле iD при добавлении записи нужно записать max(ID)+1
как это прописать?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35177504
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все разобралась. СПАСИБО DEP1 !
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184226
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как сделать отмену на изменение, добаление записи в рекордсет?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184280
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй:

Код: plaintext
1.
2.
3.
4.
5.
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset

rst.CancelBatch adAffectCurrent 'отменить обновление

...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184442
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1попробуй:

Код: plaintext
1.
2.
3.
4.
5.
Dim conn As New ADODB.Connection
Dim rst As New ADODB.Recordset

rst.CancelBatch adAffectCurrent 'отменить обновление



на изменение работает, а на добавление выдает ошибку "Error occured while trying to set current row"....
я думаю что это дело в том что когда мы добавляем запись в рекордсете появляется новая строка-на которую передается фокус-при Отмене нужно передавать фокус последней записи рекордсета (но как?) а при изменении той записи которую изменили....???
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184512
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря я не понял по конкретнее опишите что хотите делать и не получается.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184524
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Честно говоря я не понял по конкретнее опишите что хотите делать и не получается.

нажимаю кнопку добавить-фокус передается на поле куда нужно ввести данные-в гриде появляется новая строка-которой ID присваивается max(Id)+1 и после того как я нажимаю отмена- строка в гриде пропадает(что правильно) но фокус не передается последней строке в гриде - и при наведении мышкой на DataGrid выдается ошибка которую я написала выше? как передавать фокус последней строке в гриде (думаю в этом решение)?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184544
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
rst.MoveLast


или попробуй после отмены сделать:

Код: plaintext
1.
2.
rst.Requery

...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184581
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на изменение так и написала- а на добавление не робит и выдает ошибку
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184602
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка "Операция была отменена"
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184669
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или как перейти на нужную позицию в гриде?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184779
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
rst.Move (NumRecords As Long, [Start])


или же:

Код: plaintext
1.
2.
DataGrid1.Row = [нужная строка]

...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184789
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если не получится прикрепите проект посмотрю.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184805
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1
Код: plaintext
1.
2.
rst.Move (NumRecords As Long, [Start])


или же:

Код: plaintext
1.
2.
DataGrid1.Row = [нужная строка]



Error '6148' Invalid row number
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184838
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184860
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно так с использованием закладок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim vBookmark As Variant
Private Sub Add()
    vBookmark = rs.Bookmark
    rs.AddNew
End Sub
Private Sub Cancel()
    rs.CancelBatch
    If rs.RecordCount >= vBookmark Then
        rs.Bookmark = vBookmark ' возврат на позицию до ввода новой строки
    Else
        rs.MoveFirst
    End If
End Sub
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184884
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOможно так с использованием закладок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim vBookmark As Variant
Private Sub Add()
    vBookmark = rs.Bookmark
    rs.AddNew
End Sub
Private Sub Cancel()
    rs.CancelBatch
    If rs.RecordCount >= vBookmark Then
        rs.Bookmark = vBookmark ' возврат на позицию до ввода новой строки
    Else
        rs.MoveFirst
    End If
End Sub


я так пробовола, выдает ошибку "Операция была отменена" на строку rs.Bookmark = vBookmark
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184949
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
rst.AddNew
 rst.Fields("Èäåí-ð êëàññà íàïðÿæåíèÿ").Value = max_ID +  1 
 FClassVoltage.Tn_grnapr.SetFocus
 FClassVoltage.TCod.Text = "1"
 FClassVoltage.TIsm.Text = "êÂ"
 ????? varBookmark = rst.Bookmark ' ñîõðàíèòü ïîçèöèþ íîâîé ñòðîêè â íàáîðå 
устанавливать закладку нужно до добавления поля
Код: plaintext
1.
2.
3.
4.
5.
6.
 varBookmark = rst.Bookmark 
 rst.AddNew
 rst.Fields("Èäåí-ð êëàññà íàïðÿæåíèÿ").Value = max_ID +  1 
 FClassVoltage.Tn_grnapr.SetFocus
 FClassVoltage.TCod.Text = "1"
 FClassVoltage.TIsm.Text = "êÂ"
и еще
добавь еще в параметры рекорсета при окрытии
rst.CursorLocation = adUseClient
rst.CursorType = adOpenDynamic
rst.LockType = adLockBatchOptimistic
так пробуй
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35184955
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю но у меня вроде все нормально работает посмотрите:
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185109
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKO
Код: plaintext
1.
2.
3.
4.
5.
rst.AddNew
 rst.Fields("Èäåí-ð êëàññà íàïðÿæåíèÿ").Value = max_ID +  1 
 FClassVoltage.Tn_grnapr.SetFocus
 FClassVoltage.TCod.Text = "1"
 FClassVoltage.TIsm.Text = "êÂ"
 ????? varBookmark = rst.Bookmark ' ñîõðàíèòü ïîçèöèþ íîâîé ñòðîêè â íàáîðå 
устанавливать закладку нужно до добавления поля
Код: plaintext
1.
2.
3.
4.
5.
6.
 varBookmark = rst.Bookmark 
 rst.AddNew
 rst.Fields("Èäåí-ð êëàññà íàïðÿæåíèÿ").Value = max_ID +  1 
 FClassVoltage.Tn_grnapr.SetFocus
 FClassVoltage.TCod.Text = "1"
 FClassVoltage.TIsm.Text = "êÂ"
и еще
добавь еще в параметры рекорсета при окрытии
rst.CursorLocation = adUseClient
rst.CursorType = adOpenDynamic
rst.LockType = adLockBatchOptimistic
так пробуй

не робит(((
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185120
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Не знаю но у меня вроде все нормально работает посмотрите:

просто разница в 2-х строчках
FClassVoltage.TCod.Text = "1"
FClassVoltage.TIsm.Text = "кВ"

если их убрать- то все работает-но мне они нужны для задания значения по умолчанию-чтобы пользователь не вводил
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185182
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дайте значения по умолчанию в SQL во время создания таблицы (Default Value) и убирите эти два TextBox а если они не нужны будут.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185193
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Дайте значения по умолчанию в SQL во время создания таблицы (Default Value) и убирите эти два TextBox а если они не нужны будут.

но в TextBox значения по умолчанию не отображаются- поэтому я задаю, а вдруг пользователь решит сменить?
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185244
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй дать:
Код: plaintext
1.
conn.CursorLocation = adUseClient

и не использовать боокмарков.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185263
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1попробуй дать:
Код: plaintext
1.
conn.CursorLocation = adUseClient

и не использовать боокмарков.

тогда выдает первую ошибку((((((((((((((
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185351
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю проблема с Recorset ами так как там у тебя два rst и rst1 ты добавляеш в rst1 но отменяеш rst может проблема в этом.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185370
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Я думаю проблема с Recorset ами так как там у тебя два rst и rst1 ты добавляеш в rst1 но отменяеш rst может проблема в этом.

добавляю в rst но отменяю rst1. просто я пока не знаю как по другому решить задачу
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185419
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотри вместо того чтобы использовать другой обект Recordset можно сделать так это во время клика на кнопку (Добавить):

Код: plaintext
1.
2.
3.
4.
5.
If rst.State = adStateOpen Then
    rst.Close
End If

rst.Open " select max(k_grnapr) as maxID FROM s_ClassVoltage", conn, adOpenDynamic, adLockOptimistic

и убери строки:

Код: plaintext
1.
2.
rst1.Close
Set rst1 = Nothing

и rst1 тебе вообше не нужно.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185442
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEP1Смотри вместо того чтобы использовать другой обект Recordset можно сделать так это во время клика на кнопку (Добавить):

Код: plaintext
1.
2.
3.
4.
5.
If rst.State = adStateOpen Then
    rst.Close
End If

rst.Open " select max(k_grnapr) as maxID FROM s_ClassVoltage", conn, adOpenDynamic, adLockOptimistic

и убери строки:

Код: plaintext
1.
2.
rst1.Close
Set rst1 = Nothing

хмммм.....а если после добавления пользователь захочет изменить?
и как делать добавление и изменение в rst? если оно уже имеет другое значение? и если я сделаю rst.Close - то грид у меня станет пустым...(я пробовала)

и rst1 тебе вообше не нужно.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35185467
DEP1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда отмените тот rst который добавили и присваиваете гриду этот самый rst и отмените тот же rst.
...
Рейтинг: 0 / 0
как DataGrid связать с таблицей в БД?
    #35186797
Klera
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Help....
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как DataGrid связать с таблицей в БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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