Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Народ подскажите новичку как сделать на VB6? / 19 сообщений из 19, страница 1 из 1
16.11.2007, 12:14
    #34944447
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Народ вообщем вопрос у меня такой , тема в форуме была ,но не все понятно
У меня есть простенькая акцесовская БД на VB написал все что надо для заполнения полей в этой базе
МНЕ надо в одно из полей засунуть файл который может быть как рисунок так и .pdf (сканированный)
Есть 1 идея , записать путь к файлу в поле , либо переводить в бинарник изображение
Вопрос: Как на форме создать поле в котором можно указать путь к файлу изображения
чтоб этот путь записался в поле БД для конкретной записи (для каждой записи в БД файл изображения разный)
сама БД что-то типа Борей
может уже есть где то готовое решение ?
...
Рейтинг: 0 / 0
16.11.2007, 14:39
    #34945185
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Если помещать файл в бинарном виде в базу то в этой же таблице нужно добавить поле и например назвать его ExtendID. После этого добавить еще одну таблицу в которой привести соответсвие идентификатора раширения и самого расширения.
Например
ExtendID | ExtendName
1 | txt
2 | pdf
3 | bmp

Или просто сразу добавить в твою базу поле с названием расширения хранимого файла.

Вторй вариант хранить в базе только пути к файлам. А сами файлы хранить в отдельной папке в каталоге программы. В этом случае строку, содержащую путь к файлу, можно как написать руками в текстовом поле так и сформировать при помощи или ComonDialog или при помощи элементов DRIVELISTBOX, DIRLISTBOX, FILELISTBOX.


С уважением, Николай.
...
Рейтинг: 0 / 0
16.11.2007, 14:45
    #34945207
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Спасибо Николай! Я вот пробую использовать 2 вариант в текстовом поле сохранять только пути а файлы рисунков хранить в вотдельной базе рядом с БД
Может есть примеры где ?
...
Рейтинг: 0 / 0
16.11.2007, 14:49
    #34945230
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
А почему не хотите рисунки в базе сохранять?
...
Рейтинг: 0 / 0
18.11.2007, 19:13
    #34947544
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Да вообщем то задача как раз и есть чтоб сохранить рисунки в базе
но у меня как раз в этом заморочка , что не знаю как это проще и лучше сдеалать
в таблице создал поле типа MEMO, на форме в принципе можно использовать что то типа поля DirListBox ,вот как в коде все это написать, вот тут и есть тупик.
...
Рейтинг: 0 / 0
19.11.2007, 08:03
    #34947846
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
приме записи в бд файла

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim rs As New ADODB.Recordset
    Dim fl As New ADODB.Stream
   
   rs ... 'параметры рекордсета
   
    With rs
        fl.Type = adTypeBinary
        fl.Open
        fl.LoadFromFile "c:\dr.jpg" 'загружаем файл в стрим
        .AddNew
        .Fields("ИмяБинарногоПоля").AppendChunk fl.Read ' записываем данные в БД
        .UpdateBatch
    End With
    fl.Close
    rs.Close
   
    Set fl = Nothing
    Set rs = Nothing
...
Рейтинг: 0 / 0
19.11.2007, 08:48
    #34947879
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Tiko спасибо за код попробую использовать !
Подскажи если можно , как в поле DirListBox на форме прописать чтоб можно было выбирать конкретные файлы с расширением .jpg , а то у меня выбираются только папки а файлы в них не показываются
можно ли в коде прописать чтоб с этого поля присваивалось имя выбранного файла?
Спасибо!
fl.LoadFromFile "c:\dr.jpg" 'загружаем файл в стрим
вот здесь что то типа fl.LoadFromFile "C:\*.jpg"
...
Рейтинг: 0 / 0
19.11.2007, 10:01
    #34948006
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
что то типа этого

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
With rs
    File1.Pattern = "*.jpg"
    For i =  0  To File1.ListCount -  1 
        strFile = Dir1.Path & "\" & File1.List(i)
        fl.Type = adTypeBinary
        fl.Open
        fl.LoadFromFile strFile 
        .AddNew
        .Fields("ИмяБинарногоПоля").AppendChunk fl.Read 
        .UpdateBatch
        fl.Close
    Next i
End With
...
Рейтинг: 0 / 0
19.11.2007, 10:51
    #34948119
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Спасибо! примерно тоже самое уже пробую резултат пока неясен
...
Рейтинг: 0 / 0
19.11.2007, 11:27
    #34948252
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Се,
Нужен совет по поводу базы даных картинок.
...
Рейтинг: 0 / 0
19.11.2007, 14:58
    #34949099
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Николай вообщем засунуть файл в Бд у меня упорно не получается , я туда путь к файлу
прописал
вот решил поиспользовать этот путь как гиперссылку на файл ,
Как сделать чтоб гиперссылка в DataReport была активной а не как обычный текст ?
p/s/это с учетом того что в этом отчете есть ещё и текстовые поля
...
Рейтинг: 0 / 0
21.11.2007, 10:58
    #34954393
Belkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
WorobjoffА почему не хотите рисунки в базе сохранять?
Мне кажется что это не совсем правильно (хранить изображение в БД), так как сильно разростается БД при этом СУБД приходится тяжело.
Я делал свою БД в которой хранил путь к фотке.


Андрей.
...
Рейтинг: 0 / 0
21.11.2007, 11:09
    #34954451
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Belkin да я тоже сделал так чтоб хранился путь к фотке , тоже порекомендовали сделать так , база действительно становится огромной
а не мог бы расссказать как ты её оттуда доставал когда нужно было достать отчет по конкретной записи?
...
Рейтинг: 0 / 0
21.11.2007, 11:19
    #34954499
Belkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
СеBelkin да я тоже сделал так чтоб хранился путь к фотке , тоже порекомендовали сделать так , база действительно становится огромной
а не мог бы расссказать как ты её оттуда доставал когда нужно было достать отчет по конкретной записи?
Я базу делал полностью в Access
...
Рейтинг: 0 / 0
21.11.2007, 12:13
    #34954803
Се
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
я делаю Access +VB 6.0
...
Рейтинг: 0 / 0
22.11.2007, 13:10
    #34958036
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
Belkin,
Се,
не обязательно хранить рисунки в базе как OLE-объекты. Это простой путь, но расплата за него - сильное разрастание объёма базы (реальный пример: JPEG-файл размером 18 КБ разрастается до 1664 КБ). Причины этого, и способ хранения и показа изображений в "родных" форматах обсуждались с примерами в Access-овском форуме.
...
Рейтинг: 0 / 0
22.11.2007, 14:16
    #34958320
Belkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
БенедиктBelkin,
Се,
не обязательно хранить рисунки в базе как OLE-объекты. Это простой путь, но расплата за него - сильное разрастание объёма базы (реальный пример: JPEG-файл размером 18 КБ разрастается до 1664 КБ). Причины этого, и способ хранения и показа изображений в "родных" форматах обсуждались с примерами в Access-овском форуме.
Так я и говорю что лучше хранить путь к изображению.
Или я ошибаюсь???
...
Рейтинг: 0 / 0
22.11.2007, 15:34
    #34958745
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
BelkinТак я и говорю что лучше хранить путь к изображению.
Или я ошибаюсь???Вы ошибаетесь в том, что противопоставляете различные способы, говоря "лучше", в то время как они дополняют друг друга. Хотите хранить картинки вне базы - пожалуста! Хотите внутри - тоже пожалуйста, да ещё и разными способами.

На самом деле, на практике противопоставлять их, рассматривать плюсы и минусы, придётся. Выбор зависит от задачи. Но лучше ;) иметь представление о возможных вариантах выбора.
...
Рейтинг: 0 / 0
22.11.2007, 16:49
    #34959104
Belkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ подскажите новичку как сделать на VB6?
БенедиктХотите хранить картинки вне базы - пожалуста! Хотите внутри - тоже пожалуйста

В чем разница?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Народ подскажите новичку как сделать на VB6? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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