Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Access, VB6 & jpg Добавлено: 26.05.07 13:48  

Автор вопроса:  Гагик | Web-сайт: vanembroidery.narod.ru
Помогите плз решить проблему.
Имеется база Access, в базе одна таблица, обозначим tab1, в таблице несколько текстовых полей и поле объекта OLE с рисунок jpg.
Далее имеется проект на VB6, форма, на ней Adodc и элемент PictureBox. Adodc связан с базой.
Проблема такова: как можно при прокрутке Adodc добиться того, чтобы в PictureBox-е увидеть рисунки jpg из базы.

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 alexfor



Вопросов: 28
Ответов: 68
 Профиль | | #1 Добавлено: 27.05.07 17:05
Привет! Не получится, вб такой фишки не поддерживает, не зачитывает он картинки из Акса.
Лекарство следующее:
1. Выкидывай картинки из БД(тем самым уменьшишь размер БД).
2.Вместо поле объекта OLE делаешь текстовое.
3. В нем пишешь путь картинки(лучше всего относительный). Если нужно пользваться в аксе не выкидывай, создай столбец и пропиши путь.
4.В форме рисуешь image или picture
5.Если тебе в форме нужен грид - рисуешь грид.В какой-то колонке будет путь картинки.Если грид не нужен нарисуй просто лейбл. Можешь сделать его невидимым. Источник данных Adodc1, DataField - ну понятно столбец в таблице БД, где прописан путь.
6. Дальше рисуешь четыре кнопки:
cmdFirst,cmdNext,cmdPrevios, cmdLast.
7. Получается такой код:

Private Sub cmdFirst_Click()
Adodc1.Recordset.MoveFirst
    img1.Picture = LoadPicture(Label2.Caption)
End Sub

Private Sub cmdLast_Click()
 Adodc1.Recordset.MoveLast
    img1.Picture = LoadPicture(Label2.Caption)
End Sub

Private Sub cmdNext_Click()
Adodc1.Recordset.MoveNext
    img1.Picture = LoadPicture(Label2.Caption)
    If Adodc1.Recordset.EOF Then MsgBox "Конец просмотра": Adodc1.Recordset.MoveFirst
End Sub

Private Sub cmdPrevios_Click()
Adodc1.Recordset.MovePrevious
    img1.Picture = LoadPicture(Label2.Caption)
    If Adodc1.Recordset.BOF Then MsgBox "Конец просмотра": Adodc1.Recordset.MoveLast
End Sub
  
8. Если будет грид, то:
Код меняется на:
img1.Picture =
LoadPicture(DataGrid1.Columns(номер).text)
Естественно можешь объявить переменную для Label2, или DataGrid1.Columns(номер).text ну типа picpath

Все. Дерзай!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам