cpu13.ru - форум OMRON
http://cpu13.ru/

сопоставление баз данных
http://cpu13.ru/viewtopic.php?f=3&t=4025
Страница 1 из 1

Автор:  gren8i4 [ Ср сен 22, 2021 08:29 ]
Заголовок сообщения:  сопоставление баз данных

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

Автор:  Олег [ Ср сен 22, 2021 10:31 ]
Заголовок сообщения:  Re: сопоставление баз данных

Как вариант, сделать столбец с номером детали уникальным, чтобы при добавлении записи получить ошибку.

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

Автор:  gren8i4 [ Ср сен 22, 2021 14:08 ]
Заголовок сообщения:  Re: сопоставление баз данных

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

Автор:  Олег [ Ср сен 22, 2021 23:49 ]
Заголовок сообщения:  Re: сопоставление баз данных

Код:
столбец_с_номером = 'номер_детали'

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

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


я использовал эту функцию вместе с "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" )


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

Страница 1 из 1 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/