powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как исключить добавления повторяющихся записей в таблицу?
25 сообщений из 41, страница 1 из 2
Как исключить добавления повторяющихся записей в таблицу?
    #38526736
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот код записать???))) заранее благодарен)))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38526789
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymoreимеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он ОН - это кто?удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот кодКакой ЭТОТ? записать???))) заранее благодарен)))Потрудитесь переформулировать вопрос.
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527058
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov,

прости, что коряво написал)) он это код, или команда,))) с кодом помогите) сейчас картинки пришлю))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527072
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Claymore,

Вот форма с гридом где я добавляю запись
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527078
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Claymore,

Здесь я её добавляю и надо чтобы новая запись похожая на старую-не сохранялась или удалялась, подскажите код и где его прописать)))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527089
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymoreимеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот код записать???))) заранее благодарен)))

А зачем, собственно, добавлять НОВУЮ СХОЖУЮ запись. Если есть 2013, то зачем добавлять еще 2013 ????
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527092
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

допустим пользователь блондинка)
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527188
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClaymoreIgorNG,

допустим пользователь блондинка)

Видимо, поэтому и не добавляется :):)
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527196
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

чет после твоего подкола, я себя чувствую блондинкой))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527229
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

Ну мы ж не знаем, что у тебя висит на кнопках "Добавить", "Удалить", "Command3"
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527232
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

в "добавить"

thisform.grid1.readonly = .F.
public lastnomer
select pn
go top
lastnomer=pn.pn_year+1
replace pn.pn_year with lastnomer

select years

APPEND BLANK
replace years.id_year1 with lastnomer
THISFORM.GRID1.column1.text1.style = 0
THISFORM.GRID1.SetFocus
THISFORM.REFRESH

кнопка "удалить"

PRIVATE n_Rec

select years

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO()
DELETE NEXT 1

ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF

THISFORM.GRID1.SetFocus
THISFORM.REFRESH

кнопка "выход"

thisform.Release

кнопка command-я её удалю позже))) она не нужная))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527233
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Claymore,

в форме процедура init

set deleted on


GO top

процедура load

select years
set order to name_year1

процедура destroy

SELECT years
DELETE FROM years WHERE TRIM(years.NAME_year1)= ' '
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527316
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClaymoreIgorNG,

в "добавить"

thisform.grid1.readonly = .F.
public lastnomer
select pn
go top
lastnomer=pn.pn_year+1
replace pn.pn_year with lastnomer

select years

APPEND BLANK
replace years.id_year1 with lastnomer


А почему в новую запись добавляется только id_year1 ?
А как насчет name_year1 ?

THISFORM.GRID1.column1.text1.style = 0
THISFORM.GRID1.SetFocus
THISFORM.REFRESH

кнопка "удалить"

PRIVATE n_Rec

select years

IF MESSAGEBOX ("Óäàëèòü ýòó çàïèñü?", 4 + 32 + 256) = 6
n_Rec=RECNO()
DELETE NEXT 1

ENDIF
IF !EOF()
SKIP 1
ENDIF
IF EOF() AND !BOF()
SKIP -1
ENDIF

THISFORM.GRID1.SetFocus
THISFORM.REFRESH

кнопка "выход"

thisform.Release

кнопка command-я её удалю позже))) она не нужная))
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527735
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

а там в таблице сам уже вписываешь год, тот который тебе нужен)
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527756
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

select fld from tbl group by fld having count(*)>1

во что то наподобие есть, только он тут выводит таблицу со значениями которые уже имеются, а мне нужен код чтобы он предотвратил копию записи, (вторую запись, которая уже имеется) , чтобы например уже имеется в таблице 2013 год, а я когда пишу еще 2013, чтобы он не сохранялся, а например стирался или удалялся автоматически, я не знаю как код записать и где
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527815
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClaymoreIgorNG,

а там в таблице сам уже вписываешь год, тот который тебе нужен)

По кнопке "Добавить" сделай формочку с полем ввода нового года и проверяй наличие введенного в таблице годов. Если не найдено, тогда добавляй, а если уже существует - не добавляй.
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527831
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

ээээмммм, прости не понял, а как будет выглядеть код?)
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527868
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClaymoreIgorNG,

ээээмммм, прости не понял, а как будет выглядеть код?)

в форме с полем ввода года Text1 и кнопкой "Ок" в click которой что-то типа:

SELECT years
LOCATE FOR RTRIM(THISFORM.Text1.Value) = RTRIM(name_year1)
IF NOT FOUND()
select pn && я, правда, не знаю что это за таблица, но судя по коду это id_year
go top
lastnomer=pn.pn_year+1
replace pn.pn_year with lastnomer
INSERT INTO years VALUES (lastnomer, RTRIM(THISFORM.Text1.Value))
ENDIF
THISFORM.Release
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527891
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

я написал код в форме с полем ввода года Text1, который ты мне скинул в процедуре "click" :

SELECT years
LOCATE FOR RTRIM(THISFORM.Text1.Value) = RTRIM(name_year1)
IF NOT FOUND()
select pn && я, правда, не знаю что это за таблица, но судя по коду это id_year
go top
lastnomer=pn.pn_year+1
replace pn.pn_year with lastnomer
INSERT INTO years VALUES (lastnomer, RTRIM(THISFORM.Text1.Value))
ENDIF
THISFORM.Release


после ввода нажимаю на таблицу форма закрывается, а запись добавлена, или я неправильно тебя понял :(
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527931
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ClaymoreIgorNG,

я написал код в форме с полем ввода года Text1, который ты мне скинул в процедуре "click" :

SELECT years
LOCATE FOR RTRIM(THISFORM.Text1.Value) = RTRIM(name_year1) && Поиск в таблице введенного года
IF NOT FOUND() && Не найден
select pn && я, правда, не знаю что это за таблица, но судя по коду это id_year
go top
lastnomer=pn.pn_year+1
replace pn.pn_year with lastnomer
INSERT INTO years VALUES (lastnomer, RTRIM(THISFORM.Text1.Value)) && Добавление года
ELSE && Год найден
MESSAGEBOX("Такой год в таблице уже существует")
ENDIF
THISFORM.Release


после ввода нажимаю на таблицу форма закрывается, а запись добавлена, или я неправильно тебя понял :(

Меня не надо понимать, понимать нужно код.
Я отсюда не вижу какую таблицу ты нажимаешь.
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38527968
Claymore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

блин, чет не врублюсь....он мне при любом добавлении выкидывает окошко что этот год уже существует, хотя при этом я добавляю несуществующий год в записи((((
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38528012
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore, добавь в свою таблицу новое поле ID типа Integer (AutoInc). И потом хоть тыщчу одинаковых записей плоди, в этом поле автоматом будет счётчик меняться. При выборке цепляй и это поле тоже. И потом удаляй по условию where id=N(номер id). И всего то делов
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38528025
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Claymore,

Ну, чудес не бывает. Либо действительно есть, либо что-то не так сделал.
из командного окна
открой таблицу years
set deleted off
browse
и посмотри что есть в поле name_year1
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38528028
Фотография descent52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сперва правда добавь поле Id просто как Integer. Потом выполни команду REPLACE ALL id WITH RECNO(). Потом modi stru и изменяешь в структуре таблицы тип поля с Integer на Integer(AutoInc). Заодно подправь там текущее значение поля. Ну, если у тебя было 5 записей, то поставишь счётчик на 6 в текущее значение И всё!
...
Рейтинг: 0 / 0
Как исключить добавления повторяющихся записей в таблицу?
    #38528136
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
descent52Claymore, добавь в свою таблицу новое поле ID типа Integer (AutoInc). И потом хоть тыщчу одинаковых записей плоди, в этом поле автоматом будет счётчик меняться. При выборке цепляй и это поле тоже. И потом удаляй по условию where id=N(номер id). И всего то делов

ТСу как раз и нужно, чтоб не было одинаковых записей.
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как исключить добавления повторяющихся записей в таблицу?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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