:: Visual Foxpro, Foxpro for DOS
Не добавлять в базу повторяющиеся данные
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
Подскажите пожалуйста, как сделать, чтобы записи в таблице не дублировались?
Имеется таблица izdel (id_izdel, izdel, hex_izdel), куда будут заносится пользователем данные
i=ALLTRIM(thisform.o_textbox1.Value)
c=LEN(ALLTRIM(i))
inalpha=""
FOR d=1 TO c
l=SUBSTR(i,d,1)
SELECT hex FROM d:\fox1\alpha.dbf;
where ALLTRIM(alpha.alpha)==l;
INTO CURSOR hex1
inalpha=inalpha+ALLTRIM(hex1.hex)
endfor
thisform.o_textbox2.value=inalpha
INSERT INTO izdel (izdel, hex_izdel);
VALUES (i, inalpha)



Исправлено 2 раз(а). Последнее : k0t0rez, 04.12.17 14:48
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
1. "Не добавлять" и "отбирать" - совершенно разные вещи. Вы уж определеитесь что же таки надо.
2. Добавьте в свойство Format полей o_textbox1 и o_textbox1 латинскую букву "Т" и выкиньте alltrim(). А то уже совершенно бессмысленно вставляете везде, даже где и не надо. Напрмер, в первых двух строчках, которые сами по себе лишние.
3. В дополнение к пункту 2:
inalpha=inalpha-hex1.hex
val(alpha.alpha)=l
4. Покажите, наконец, образец исходных данных и результат, который надо получить на этих данных. Иначе опять прочитаете что-нибудь про бред в вашем коде.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
ssa
1. "Не добавлять" и "отбирать" - совершенно разные вещи. Вы уж определеитесь что же таки надо.
2. Добавьте в свойство Format полей o_textbox1 и o_textbox1 латинскую букву "Т" и выкиньте alltrim(). А то уже совершенно бессмысленно вставляете везде, даже где и не надо. Напрмер, в первых двух строчках, которые сами по себе лишние.
3. В дополнение к пункту 2:
inalpha=inalpha-hex1.hex
val(alpha.alpha)=l
4. Покажите, наконец, образец исходных данных и результат, который надо получить на этих данных. Иначе опять прочитаете что-нибудь про бред в вашем коде.

Нужно не добавлять. Допустим, если в поле написано "Изделие1" и если в таблице уже есть это изделие, то добавлять новую запись не нужно
в таблице содержится название изделия (izdel) и шестнадцатиричный код названия этого изделия (hex_izdel)
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Отлично. Теперь таки п.4 выполните.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
ssa
Отлично. Теперь таки п.4 выполните.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
А можно текстом, а не картинкой? Особенно на которой не видны таблицы, их содержимое и ЧТО таки с этим содержимым надо сделать.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
ssa
А можно текстом, а не картинкой? Особенно на которой не видны таблицы, их содержимое и ЧТО таки с этим содержимым надо сделать.
Из первого поля данные заносятся в столбец izdel, из второго поля в столбец hex_izdel, нужно что бы эти данные не добавлялись в таблицу, если они уже в ней содержаться
Какой информации еще нужно, я даже не знаю
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
И еще: по каким правилам у вас превращаются друг в друга поля на вашей картинке. Ибо к обычным Hex-кодам они отношения не имеют.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
ssa
И еще: по каким правилам у вас превращаются друг в друга поля на вашей картинке. Ибо к обычным Hex-кодам они отношения не имеют.
В смысле превращаются? Если я правильно понял, то я вбиваю в первое поле название изделия, жмякаю кнопкой "в 16" и во втором поле появляется 16-ричный код этого названия. Для каждого символа код прописал в таблице "alpha"
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
И что, для цифры 1 код 35? Точно? И с каких пор?


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
k0t0rez

Сообщений: 19
Откуда: Н.Новгород
Дата регистрации: 04.12.2017
ssa
И что, для цифры 1 код 35? Точно? И с каких пор?
упс, про цифры забыл))
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
k0t0rez
ssa
И что, для цифры 1 код 35? Точно? И с каких пор?
упс, про цифры забыл))
Да там все коды какие-то левые.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющиеся данные
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Если взять код из соседней ветки, то код кнопки "в16" должен быть такой:
thisform.o_textbox2.Value = STRCONV(thisform.o_textbox1.Value),15)
а код кнопки "из16" такой:
thisform.o_textbox1.Value = STRCONV(thisform.o_textbox2.Value,16)
Свойство format, как я уже писал, должно содержать латинскую букву Т.
Назадлянафига нужна таблица alfa - большой секрет. Зачем нужны какие-то циклы и select'ы - еще больший секрет.а


------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 04.12.17 16:03
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
ssa
Да там все коды какие-то левые.
Юникод.
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющихся данных
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
akvvohinc
Юникод.
При том big-endian, да ещё и без последнего символа исходной строки...
Налицо отсутствие понимания...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Не добавлять в базу повторяющиеся данные
Igor Korolyov
Автор

Сообщений: 34580
Дата регистрации: 28.05.2002
k0t0rez
Подскажите пожалуйста, как сделать, чтобы записи в таблице не дублировались?
Создать по данному полю (или комбинации полей) индекс типа Candidate или PrimaryKey если таблица входит в БД.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 22 Joys  (Гостей: 21)

© 2000-2024 Fox Club 
Яндекс.Метрика