powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как DataGrid связать с таблицей в БД?
15 сообщений из 40, страница 2 из 2
как 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
15 сообщений из 40, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как DataGrid связать с таблицей в БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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