|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
имеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот код записать???))) заранее благодарен))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 11:35 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymoreимеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он ОН - это кто?удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот кодКакой ЭТОТ? записать???))) заранее благодарен)))Потрудитесь переформулировать вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 12:26 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Sergey Sizov, прости, что коряво написал)) он это код, или команда,))) с кодом помогите) сейчас картинки пришлю)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 15:01 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymore, Вот форма с гридом где я добавляю запись ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 15:06 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymore, Здесь я её добавляю и надо чтобы новая запись похожая на старую-не сохранялась или удалялась, подскажите код и где его прописать))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 15:08 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymoreимеется таблица yeras.dbf в ней поля id_year1 и name_year1, допустим уже есть записи (2012, 2013, 2014) и при добавлении новой схожей записи, например 2013, он удалял удалял, либо не сохранял эту новую запись, прошу помогите с кодом и где лучше этот код записать???))) заранее благодарен))) А зачем, собственно, добавлять НОВУЮ СХОЖУЮ запись. Если есть 2013, то зачем добавлять еще 2013 ???? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 15:11 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, допустим пользователь блондинка) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 15:13 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
ClaymoreIgorNG, допустим пользователь блондинка) Видимо, поэтому и не добавляется :):) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 16:15 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, чет после твоего подкола, я себя чувствую блондинкой)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 16:19 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymore, Ну мы ж не знаем, что у тебя висит на кнопках "Добавить", "Удалить", "Command3" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 16:37 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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-я её удалю позже))) она не нужная)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 16:42 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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)= ' ' ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 16:43 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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-я её удалю позже))) она не нужная)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2014, 17:23 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, а там в таблице сам уже вписываешь год, тот который тебе нужен) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 08:06 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, select fld from tbl group by fld having count(*)>1 во что то наподобие есть, только он тут выводит таблицу со значениями которые уже имеются, а мне нужен код чтобы он предотвратил копию записи, (вторую запись, которая уже имеется) , чтобы например уже имеется в таблице 2013 год, а я когда пишу еще 2013, чтобы он не сохранялся, а например стирался или удалялся автоматически, я не знаю как код записать и где ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 08:49 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
ClaymoreIgorNG, а там в таблице сам уже вписываешь год, тот который тебе нужен) По кнопке "Добавить" сделай формочку с полем ввода нового года и проверяй наличие введенного в таблице годов. Если не найдено, тогда добавляй, а если уже существует - не добавляй. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 10:20 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, ээээмммм, прости не понял, а как будет выглядеть код?) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 10:31 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 10:57 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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 после ввода нажимаю на таблицу форма закрывается, а запись добавлена, или я неправильно тебя понял :( ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 11:11 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
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 после ввода нажимаю на таблицу форма закрывается, а запись добавлена, или я неправильно тебя понял :( Меня не надо понимать, понимать нужно код. Я отсюда не вижу какую таблицу ты нажимаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 11:46 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
IgorNG, блин, чет не врублюсь....он мне при любом добавлении выкидывает окошко что этот год уже существует, хотя при этом я добавляю несуществующий год в записи(((( ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 12:01 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymore, добавь в свою таблицу новое поле ID типа Integer (AutoInc). И потом хоть тыщчу одинаковых записей плоди, в этом поле автоматом будет счётчик меняться. При выборке цепляй и это поле тоже. И потом удаляй по условию where id=N(номер id). И всего то делов ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 12:26 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Claymore, Ну, чудес не бывает. Либо действительно есть, либо что-то не так сделал. из командного окна открой таблицу years set deleted off browse и посмотри что есть в поле name_year1 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 12:30 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
Сперва правда добавь поле Id просто как Integer. Потом выполни команду REPLACE ALL id WITH RECNO(). Потом modi stru и изменяешь в структуре таблицы тип поля с Integer на Integer(AutoInc). Заодно подправь там текущее значение поля. Ну, если у тебя было 5 записей, то поставишь счётчик на 6 в текущее значение И всё! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 12:30 |
|
Как исключить добавления повторяющихся записей в таблицу?
|
|||
---|---|---|---|
#18+
descent52Claymore, добавь в свою таблицу новое поле ID типа Integer (AutoInc). И потом хоть тыщчу одинаковых записей плоди, в этом поле автоматом будет счётчик меняться. При выборке цепляй и это поле тоже. И потом удаляй по условию where id=N(номер id). И всего то делов ТСу как раз и нужно, чтоб не было одинаковых записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2014, 13:21 |
|
|
start [/forum/topic.php?fid=41&msg=38528136&tid=1582768]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 305ms |
total: | 545ms |
0 / 0 |