Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Ошибка - несоответствие типов


Рекомендуемые сообщения

Всем привет.

Срочно нужна помощь!

Вопрос 1.

У всех стандартно установлена БД BIBLIO, она находится по этому адресу:

"C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.mdb"

В прикеплённом файле находится код проекта. Смысл программы заключается в том, чтобы вывести поля таблицы Authors в соответствующих элеентах формы.

При запуске програмы, происходит ошибка: "Несоответствие типов".

Незнаю что и делать, поэтому обращаюсь к вам.

Вопрос 2.

Не могу добавить поле FOTO в БД BIBLIO с помощью Access, в смысле не активна кнопка "Сохранить". При открытии БД в Access выводится диалоговое окно, что типо БД создана в более ранней версии и нужно её преобразовать, но такогобыт не может, у ня ОФИС - 2003. Преобразовывал бесполезно.

А вот в БД NWIND всё нормально сохраняется:

"C:\Program Files\Microsoft Visual Studio\VB98\NWIND.mdb"

Это поле необходио для вывода картинок в этом же проекте в элементе OLE.

Может можно как добавить поле Foto c типом поля - поле объекта OLE в VB, записав программный код.

Option Explicit

Dim vldmsg(4) As String 'объявить масив сообщений

Private Sub cmdRestore_Click()

Data1.UpdateControls 'восстановить значение текстового поля

End Sub

Private Sub cmdupdate_Click()

Data1.UpdateControls

End Sub

Private Sub Form_Load()

OpenDB 'открыть БД,установить динамический набор

BindControls 'связать элементы управления с полями данных

makevldmsgarray

End Sub

Public Sub OpenDB()

Dim bdNAME As String

Dim cdbNAME As String

Dim ctb1NAME As String

Dim BExclusive As Boolean 'объявить логическую переменную

Dim breadonly As Boolean

Dim dbDenyWrite As Boolean

cdbNAME = "C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.mdb"

ctb1NAME = "Authors" 'указать на таблицу данных

BExclusive = True 'установить эксклюхивный режим

breadonly = True 'установить режим только для чтения

Data1.DatabaseName = cdbNAME 'задать свойство DatabaseName

Data1.RecordSource = ctb1NAME 'задать свойство RecordSource

Data1.Exclusive = BExclusive

Data1.ReadOnly = dbDenyWrite + breadonly

Data1.Refresh 'обнорвить совйства элемента data

End Sub

Public Sub BindControls()

Dim cfield1 As String

Dim cfield2 As String

Dim cfield3 As String

cfield1 = "Author"

cfield2 = "Au_ID"

cfield3 = "Year Born"

Text1.DataField = cfield1

Label1.DataField = cfield2

Check1.DataField = cfield3

End Sub

Public Sub Data1_Reposition()

MsgBox "перемещение указателя..."

End Sub

Public Sub Data1_Validate(Action As Integer, save As Integer)

MsgBox vldmsg(Action) 'выдать сообщение в зависимости от действия пользователя

End Sub

Public Sub makevldmsgarray()

vldmsg(vbDataActionMoveFirst) = "MoveFirst"

vldmsg(vbDataActionMovePrevious) = "MovePrevious"

vldmsg(vbDataActionMoveNext) = "MoveNext"

vldmsg(vbDataActionMoveLast) = "MoveLast"

End Sub

Если кто может, оставьте мыло, я пришлю исходник.

Жалко нет на форуме функции добавления файлов

Ссылка на комментарий
Поделиться на другие сайты

Прошёл глазами весь код, вроде всё ОК. Кидай исходник сюда: f-artyom@yandex Тема: Исходник из Софтодрома.

Ссылка на комментарий
Поделиться на другие сайты

Привет!!! :bye1::bye1:

НА первый вопрос ответ(Вопрос наверное даже) : что ты хочешь сделать этой строчкой:

Check1.DataField = cfield3
?

НА сколько я знаю Check1 принимает логические(булевские данные) данные (True, False) копай в эту сторону.

На второй вопрос : А ты пробовал 97офисом преобразовывать?

При открытии БД в Access выводится диалоговое окно, что типо БД создана в более ранней версии и нужно её преобразовать, но такого быть не может

Как не может? VB6 создан в 98году, соотвественно офис на то момент был самым последним 97...

Изменено пользователем neic
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...