управление записями в MS Access из VB6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

управление записями в MS Access из VB6

Сообщение virtuoz » 10.05.2006 (Ср) 15:40

имеется табличка в базе данных Microsoft Access, нужно чтобы в окошке приложения отображалась эта табличка и можно было выбирать записи из нее, 1 нопка редактировать выбранную запись запись, 2 кнопка добавить выбранную запись в другую табличку из этой же БД.

C помощью какого объекта нужно отображать табличку и как создать кнопки. Программная среда VB6

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.05.2006 (Ср) 16:01

1. создай новый проект EXE
2. подключи контрол MS DaataGrid OLE DB SP6
3. вытащи его на форму
4. накидай кнопок
5. в коде формы на событиях кнопок сделай, что тебе надо


а самое интересное ты найдешь на страницах нашего форума и в примерах/статьях на сайте :wink:

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 10.05.2006 (Ср) 16:11

вот я и спрашиваю что писать в коде кнопок, если не трудно то подскажите, или дайте ссылку где почитать про такое

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.05.2006 (Ср) 16:25

зайди в раздел статей на сайте и посмотри :shock:

можешь вот с этой начать:
http://www.vbstreets.ru/VB/Articles/65543.aspx

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 10.05.2006 (Ср) 18:28

почитал, но это не то что мне нужно, такое я впринципе уже умею делать, мне нужно чтобы отбражалась табличка с записями, в табличке отмечаешь нужную запись, жмешь на кнопку и открывалось окошко редактирования записей с фокусом именно на эту запись

PS. пересмотрел все статьи с заголовком упоминающим БД но подобного нигде не попалось.

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 10.05.2006 (Ср) 19:49

а вчем проблема? знаешь, как отобразить таблицу в датагриде? Посмотрел все про рекордсет? так вот, во первых в датагриде вроде есть фишка в свойствах - разрешить редактирование. Если надо в отдельном окне - открываешь новое окно, куда посылаешь номер выделенной строки в датагриде, в окне подгружаешь в текстовые поля (например), меняешь значения и там на кнопку жмешь и обновляешь рекордсет.
Добавление в таблицу из той же серии. Читай про рекордсеты

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 10.05.2006 (Ср) 23:04

тут возникает следующий логичный вопрос: кто знает где можно почитать про recordset? Самостоятельно пока найти ничего не получилось :cry:
если не трудно может напишет кто код к кнопочке, для знающего человека это же пара пустяков

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 10.05.2006 (Ср) 23:12

Можно к примеру почитать в MSDN.
Какой код к кнопочке тебе нужен? Добавить запись? Пожалуйста:
Код: Выделить всё
rs.AddNew
:wink:
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 10.05.2006 (Ср) 23:16

при чем тут добавить запись, я про это даже не упоминал, мне нужно чтобы открывалось окошко с редактированием той записи которую я выбираю в табличке

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 11.05.2006 (Чт) 7:18

к примеру: дабавь в проект новую форму, на нее накидай сколько тебе нужно текстбоксов и кнопку сохранить

Код: Выделить всё
в коде кнопки редактировать:
frmEdit.Text1.Text = rs("street")
frmEdit.Show
....

в коде кнопки сохранить:
rs("street") = IIf(Text1.Text = "", Null, Text1.Text)
....
rs.Update
Unload me

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 11.05.2006 (Чт) 8:38

ищуть в ПОИСКе по слову recordet

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 11.05.2006 (Чт) 13:49

все до чего я додумался это:

Код: Выделить всё
Private Sub Redactirovat_Click()
Dim MyBookmark As Variant
Dim MyBookmark2 As String
MyBookmark = frmTabliza.Data1.Recordset.Bookmark
frmTabliza.Data1.Recordset.Bookmark = MyBookmark
frmRedactirovat.Show
frmRedactirovat.Data1.Recordset.Bookmark = MyBookmark2
End Sub


но такое не работает :cry: , кто скажет почему

как получить номер записи я знаю, а вот как установить на нем фокус не знаю, подскажите плз

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 11.05.2006 (Чт) 14:07

Плохая прокладка между стулом и монитором.
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 11.05.2006 (Чт) 14:11

GB826, предупреждение.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 11.05.2006 (Чт) 14:43

вот накидал для начала, а дальше сам 8)
Вложения
Grid simple.rar
(9.1 Кб) Скачиваний: 38

virtuoz
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 10.05.2006 (Ср) 15:36

Сообщение virtuoz » 11.05.2006 (Чт) 18:45

спасибо конечтно, все красиво, но мне в этом не разобраться просто так, да просьба моя состоит уже просто в том как сделать кнопочку которая будет возвращать ссылку на запись номер, например 5

судя по описанию свойства Bookmark это должно выглядеть так:
Data1.Recordset.Bookmark=5
но я явно не прав, поскольку такое не работает

в ожидании лучших времен сделал так (хотя это совершенно неправильно):

Код: Выделить всё
Button_Click()
n=Data1.Recordset.AbsolutePosition
Data1.Recordset.MoveFirst
Data1.Recordset.Move (n)

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 11.05.2006 (Чт) 23:08

virtuoz писал(а):спасибо конечтно, все красиво, но мне в этом не разобраться просто так

Не можешь, или не хочешь разобраться? Если не можешь, спрашивай что конкретно не понятно?
да просьба моя состоит уже просто в том как сделать кнопочку которая будет возвращать ссылку на запись номер, например 5
судя по описанию свойства Bookmark это должно выглядеть так:
Data1.Recordset.Bookmark=5
но я явно не прав, поскольку такое не работает


Bookmark (тип Variant) используется для того, чтобы "запомнить" текущую позицию в рекордсете:
Код: Выделить всё
vBkmark = rs.Bookmark

Восстановление позиции:
Код: Выделить всё
rs.Bookmark = vBkmark


Если под "возвращать ссылку" ты имел в виду что-то другое, поясни что именно.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 12.05.2006 (Пт) 9:09

Amed, может и грубо, но вполне точно :оР

Извини, virtuoz, но как ты мог получить курсовик на тему, которую не знаешь? Или просто гулял? Прочти, хотя бы, пару статей на тему рекордсетов.
Пора уже всем хорошим людям собраться и убить всех плохих людей.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 122

    TopList  
cron