Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Вт мар 19, 2024 14:41

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 4 сообщений ] 
Автор Сообщение
 Заголовок сообщения: сопоставление баз данных
СообщениеДобавлено: Ср сен 22, 2021 08:29 
Не в сети

Регистрация: Пт май 31, 2019 09:37
Сообщения: 49
Всех приветствую.
Подскажите, сталкивался ли кто нибудь с такой задачей:
со сканера штрих кодов приходит номер детали в контроллер, из контроллера через супервизор складываю эти номера в БД и нужно что б по базе данных не было повтора номера, другими словами нужно сравнить БД с приходящим на текущий момент номером.
Возможно ли это осуществить в супервизоре?


В начало
 Профиль  
 
 Заголовок сообщения: Re: сопоставление баз данных
СообщениеДобавлено: Ср сен 22, 2021 10:31 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Как вариант, сделать столбец с номером детали уникальным, чтобы при добавлении записи получить ошибку.

Можно и поиск по таблице предварительно сделать
return = DBExecute("Connection1.Recordset1", "Find", "столбец_с_номером = 'номер_детали'")


В начало
 Профиль  
 
 Заголовок сообщения: Re: сопоставление баз данных
СообщениеДобавлено: Ср сен 22, 2021 14:08 
Не в сети

Регистрация: Пт май 31, 2019 09:37
Сообщения: 49
Спасибо, вроде то что нужно.
Но что-то я совсем не понимаю синтаксиса этого скрипта, выдаёт ошибку.
'номер_детали' - это же текстовая точка в которую я записываю код со сканера
столбец_с_номером - это столбец который я выбираю в Field, впрочем я и номер пробовал ставить всё равно ошибка синтаксиса.


В начало
 Профиль  
 
 Заголовок сообщения: Re: сопоставление баз данных
СообщениеДобавлено: Ср сен 22, 2021 23:49 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Код:
столбец_с_номером = 'номер_детали'

это текст запроса, т.е. его нужно заранее склеить в текстовой точке из текста
Код:
столбец_с_номером = '

+ переменная с номером детали, и в конце добавить
Код:
'


я использовал эту функцию вместе с "Filter"
т.е. выборка по дате
Код:
txtFilt3="дата = '"+txtFilt2+"'"

DBExecute( "fiskal.Read", "Filter", txtFilt3 )
InitArray(txt1,"")
InitArray(txt2,"")
InitArray(txt3,"")


DBRead( "fiskal.Read" )

DBExecute( "fiskal.Read", "Requery" )
nRec_f=DBProperty( "fiskal.Read", "RecordCount" )
nCurrentRec_f =nRec_f-14
DBMove( "fiskal.Read", "Position", nCurrentRec_f )
DBRead( "fiskal.Read" )
nCurrentRec_f = DBProperty( "fiskal.Read", "CurrentRecord" )

дата это столбец в таблице.
Выборка по тексту события в столбце "событие"
Код:
txtFilt1="событие  Like '"+"*"+txtFilt+"*"+"'"

DBExecute( "fiskal.Read", "Filter", txtFilt1 )
InitArray(txt1,"")
InitArray(txt2,"")
InitArray(txt3,"")
DBRead( "fiskal.Read" )

DBExecute( "fiskal.Read", "Requery" )
nRec_f=DBProperty( "fiskal.Read", "RecordCount" )
nCurrentRec_f =nRec_f-14
DBMove( "fiskal.Read", "Position", nCurrentRec_f )
DBRead( "fiskal.Read" )
nCurrentRec_f = DBProperty( "fiskal.Read", "CurrentRecord" )


На чтение и запись в одну и ту же таблицу я создавал разные рекордсеты.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 4 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


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

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3