powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выдается ошибка 'Data type mismatch'
13 сообщений из 13, страница 1 из 1
Выдается ошибка 'Data type mismatch'
    #37561109
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что не так может быть в коде (ошибка 'Data type mismatch'):

Select ss
APPEND BLANK
Replace ss.bi With text1, ss.ch With text2, ss.tip With text3, ss.num_up With text4, ss.naim_up With text5, ss.model With text6, ss.shm With text7, ss.naimm With text8, ss.marka With text9, ss.razmer With text10, ss.naime With text11
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561131
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOB,

А у текстовых полей .Value кто будет указывать?
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561183
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Value вводится с клавиатуры. Тут странность в том, что вот этот код работает:

Select ss
Replace ss.bi With text1, ss.ch With text2, ss.tip With text3, ss.num_up With text4, ss.naim_up With text5, ss.model With text6, ss.shm With text7, ss.naimm With text8, ss.marka With text9, ss.razmer With text10, ss.naime With text11

Получается, всё дело в append blank?
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561214
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBValue вводится с клавиатуры. Тут странность в том, что вот этот код работает:

Select ss
Replace ss.bi With text1, ss.ch With text2, ss.tip With text3, ss.num_up With text4, ss.naim_up With text5, ss.model With text6, ss.shm With text7, ss.naimm With text8, ss.marka With text9, ss.razmer With text10, ss.naime With text11

Получается, всё дело в append blank?

Если text1...text11 - переменные, то будет работать, если это текстовые поля, то писать нужно правильно:

REPLACE ss.bi WITH THISFORM.Text1.Value

при этом необходимо соблюдать соответствие типов полей с типом добавляемых данных.

Команда APPEND BLANK здесь совершенно не при чем - она создает пустую запись в таблице без каких-либо проверок типов данных.
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561234
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там еще перед select ss такой код:

text1 = thisform.text1.value
text2 = thisform.text2.value
text3 = thisform.text3.value
text4 = thisform.text4.value
text5 = thisform.text5.value
text6 = thisform.text6.value
text7 = thisform.text7.value
text8 = thisform.text8.value
text9 = thisform.text9.value
text10 = thisform.text10.value
text11 = thisform.text11.value

Разница этой формы от формы с кодом без append blank в том, что в форме без append blank в текстовые поля text1, text2... вставляются данные из таблицы, а в форму с append blank нужно вводить данные в текстовые поля вручную
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561248
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBТам еще перед select ss такой код:

text1 = thisform.text1.value
text2 = thisform.text2.value
text3 = thisform.text3.value
text4 = thisform.text4.value
text5 = thisform.text5.value
text6 = thisform.text6.value
text7 = thisform.text7.value
text8 = thisform.text8.value
text9 = thisform.text9.value
text10 = thisform.text10.value
text11 = thisform.text11.value

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

Правильно. Если в TextBox поместить значение числового поля таблицы, то TextBox и будет иметь соответствующий тип данных.
Если на форму кинуть TextBox без привязки к данным, то он по умолчанию будет иметь текстовый тип. А если, например, например в Init поставить THIS.Value = 0, то этот TextBox будет иметь числовой тип данных.
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37561342
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё. Разобрался
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37566564
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBТам еще перед select ss такой код:

text1 = thisform.text1.value ...Тогда уж надо привыкать писАть как положено:
9IKOBReplace ss.bi With m. text1, ss.ch With m. text2, ...
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37566641
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,

А что значит "m." перед переменной?
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37566677
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBА что значит "m." перед переменной?
Явное указание что это переменная, а не поле. На случай совпадения имен переменной и поля из текущей рабочей области.
Этот префикс не обязательный.
Лучше привыкай использовать венгерскую нотацию. Писать в префикс тип и область видимости. Например:
cField - поле символьного типа
lcVal - локальная переменная символьного типа
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37568704
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
А ведь венгерская нотация как раз не всегда помогает. Хотя и приветствуется.

Я ведь просто намекнул на то, что при наличии "одинаковоназванных в данном контексте" Переменной Памяти, Поля Базы Данных и Объекта (с установленным default value) неоднозначность разыменования придется искать дебаггером изучать, как интерпретаторы разных версий Фокса поступают...
Не проще ли заставить и себя (помимо интерпретатора) всегда помнить об указании на объект: <alias>.<fileld> , m.<variable> , .<property> ...
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37569759
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
9IKOBAndreTM,

А что значит "m." перед переменной?
бл* еще один !
Вы прежде чем вопросы задавать, хотя бы F1 попробовали нажать, посмотреть примеры, книжки почитать, мозг немного нарячь.
Откуда вас столько неучей ?
...
Рейтинг: 0 / 0
Выдается ошибка 'Data type mismatch'
    #37570298
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMDima T,
А ведь венгерская нотация как раз не всегда помогает. Хотя и приветствуется.
Меня никогда не подводила, "m." тоже специфичный синтаксис. Кстати в хэлпе не замечал чтоб ее в примерах использовали, а венгерская нотация есть.
Хотя не настаиваю, все варианты имеют право на использование.

Про указание алиасов - полностью согласен.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выдается ошибка 'Data type mismatch'
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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