powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro и INSERT INTO
25 сообщений из 76, страница 3 из 4
FoxPro и INSERT INTO
    #37122975
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не шумите я Вам говорил что FoxPro 2.6 не хочет работать с as
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select PR, FAK, SPEC, KAF, BLOK, PRED, NAME, FAK_OLD, SPEC_OLD, KAF_OLD, PRED_OLD ;
  from  E:\Temp\New_disc where .f. into dbf Disk_1 && создание пустого курсора, чтобы было куда вставлять

For i =  1  to ADir(arDbfs, 'E:\temp\P5??????.dbf')
	?arDbfs[i, 1 ]
tab=arDbfs[i, 1 ]
TPred="&tab"+".Pred"

select New_disc.PR, New_disc.FAK, New_disc.SPEC, New_disc.KAF, New_disc.BLOK, New_disc.PRED, New_disc.NAME, New_disc.FAK_OLD, New_disc.SPEC_OLD, New_disc.KAF_OLD, New_disc.PRED_OLD;
  from ('E:\Temp\'+arDbfs[i, 1 ]), E:\Temp\New_disc  Where New_disc.pred= 1900 ; * "для пробы"
    into dbf Tmp
  select Disk_1
  Append From Tmp
Next
brow
Так вот работает я спрашивал что выдает arDbfs[i,1] т.е. мне нужно 1900 заменить на "имя таблицы".pred для этого и вводил переменные поскольку с as работать не хочет.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37122983
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37122991
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorНе шумите я Вам говорил что FoxPro 2.6 не хочет работать с asЯ в курсе. И предлагал убрать только as и ничего более. А Вы что убрали?Так вот работает я спрашивал что выдает arDbfs[i,1] т.е. мне нужно 1900 заменить на "имя таблицы".pred для этого и вводил переменные поскольку с as работать не хочет.Вам привел код НЕ ТРЕБУЮЩИЙ указания таблицы. AS к переменным не имеетникаког отношения. Вы опять занялись деструктивной самодеятельностью совершенно не понимая ни своих, ни наших действий.
Неужели так трудно взять мой код, первый cursor заменить на dbf и убрать слово as? Это очень трудно для понимания и выполнения?
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123010
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимодоцент тупой?

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=829169&msg=10252789
Ты что мне их предлагаешь файлы руками перебирать? Если есть такая возможность прокрутить все в цикле почему этим не воспользоваться? Почему никто не читает то что я пишу. Зачем столько эмоций. Задача описана уже давно Insert into... читайте выше. Если не получается решить проблему сразу решаю постепенно. Сейчас стоит вопрос не как вернуться к альянсу, а как грамотно сравнить столбцы... Вопрос был что дает arDbfs[i,1] если имя+расширение тогда понятно что New_Disc.pred=P5000000.dbf.pred работать скорее не будет.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123013
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_Fedorпрошелмимодоцент тупой?

http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=829169&msg=10252789
Ты что мне их предлагаешь файлы руками перебирать? Если есть такая возможность прокрутить все в цикле почему этим не воспользоваться? Почему никто не читает то что я пишу. Зачем столько эмоций. Задача описана уже давно Insert into... читайте выше. Если не получается решить проблему сразу решаю постепенно. Сейчас стоит вопрос не как вернуться к альянсу, а как грамотно сравнить столбцы... Вопрос был что дает arDbfs[i,1] если имя+расширение тогда понятно что New_Disc.pred=P5000000.dbf.pred работать скорее не будет.

Код: plaintext
1.
from (lcName1) [color=red]t1[/color], (lcName2) [color=red]t2[/color] ;
  where [color=red]t1[/color].uu=[color=red]t2[/color].rr

правда, - тупой

оставь фокспро в покое, - займись си шарпом
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123019
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотреть на строку

from (lcName1) t1, (lcName2) t2 ;
where t1.uu=t2.rr

долго
внимательно

говорить вслух: я тупой, но хочу, хочу ...


пытаться осознать что такое эти буковки t1 и t2
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123028
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorТы что мне их предлагаешь файлы руками перебирать? Если есть такая возможность прокрутить все в цикле почему этим не воспользоваться? Почему никто не читает то что я пишу.Потому, что уже не единожды прочитано, а нового ничего нет. Зачем столько эмоций.Есть раздражающие факторы. Задача описана уже давно Insert into... читайте выше.Опять, уже писалось, что задача НЕ описана. Если Вы считаете Ваши повторения описанием, то что Вы хотите отнас, таких тупых и непонимающих Ваши описания? Если не получается решить проблему сразу решаю постепенно.Похвально. Сейчас стоит вопрос не как вернуться к альянсу, а как грамотно сравнить столбцы... Вопрос был что дает arDbfs[i,1] если имя+расширение тогда понятно что New_Disc.pred=P5000000.dbf.pred работать скорее не будет.Вы опять не читает, что Вам написано? Чукча писатель? Сколько раз надо повторить, что в моем коне НЕТ необходимости псать имя таблицы или подставляеть его куда-либо? Сколько раз Вам наджо построить, что в приведенном мной коде как раз и производится грамотное сравнение полей?
Короче, или Вы таки прекращаете заниматься самодурством и я пытаюсь Вас наставить на путь истинный или продлжайте без меня заниматься непойми чем. Задачу можно было в течение часа сделать, Вы со своими выходками уже два дня ковырятесь. Хотите и дальше так же безрезультатно ковыряться - продложайте, но нас тогда больше ни о чемс не спрашивайте.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123063
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select PR, FAK, SPEC, KAF, BLOK, PRED, NAME, FAK_OLD, SPEC_OLD, KAF_OLD, PRED_OLD ;
  from  E:\Temp\New_disc where .f. into dbf Disk_1 && создание пустого курсора, чтобы было куда вставлять
For i =  1  to ADir(arDbfs, 'E:\temp\P5??????.dbf')
	?arDbfs[i, 1 ]
  select New_disc.PR, New_disc.FAK, New_disc.SPEC, New_disc.KAF, New_disc.BLOK, New_disc.PRED, New_disc.NAME, New_disc.FAK_OLD, New_disc.SPEC_OLD, New_disc.KAF_OLD, New_disc.PRED_OLD;
  from ('E:\Temp\'+arDbfs[i, 1 ]) t1,  E:\Temp\New_disc  Where New_disc.pred=t1.pred;
  into DBF Tmp
  select Disk_1
  Append From Tmp
Next
brow
Вот так работает :(
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123070
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо осталось от дублей избавится.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123072
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorВот так работает :(

славте, Господи.

брось фокспро - не мучь себя.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123079
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorСпасибо осталось от дублей избавится.Прелестно! Это назывется "задача описана"! Браво!
Какие еще условия задачи остались в рукаве? Тпереь Будем мужественно бороться с дубликатами вместо того, чтобы их сразу не делать.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123092
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovТпереь Будем мужественно бороться с дубликатами вместо того, чтобы их сразу не делать.

ушел за попкорном
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123450
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxPro бы бросил (в принципе я еще и не начинал) но тут прога на мою шею "нарисовалась" приходится разбираться с теми "глюками" которые из нее "выскакивают". На счет дубликатов придется побороть :). Спасибо за терпение.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37123580
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorСпасибо осталось от дублей избавится.
Код: plaintext
select distinct * from Disk_1 into cursor disk_2
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37124616
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как исправить
Ошибка в строке
Код: plaintext
1.
        locate for arDbfs[i, 1 ].name=New_tmp.name
Я не знаю что возвращает arDbfs[i,1]
Код работает если вместо arDbfs[i,1].name прописать P5xxxxxx.name
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
For i =  1  to ADir(arDbfs, 'E:\temp\P5??????.dbf')
	?arDbfs[i, 1 ]
select distinct(name) as name, t1.pred, t1.SPEC from ('E:\Temp\'+arDbfs[i, 1 ]) t1 Where t1.pred> 1  into dbf tDoubleX
select tDoubleX.pred, tDoubleX.name, t1.SPEC from E:\Temp\tDoubleX.dbf, ('E:\Temp\'+arDbfs[i, 1 ]) t1 Where ((tDoubleX.name<>t1.name) and (tDoubleX.pred=t1.pred)) into dbf tmpDubl
select New_Disc.pred, New_Disc.name from E:\Temp\tmpDubl.dbf, E:\Temp\New_Disc.dbf Where ((tmpDubl.name=New_Disc.name) and (tmpDubl.SPEC=New_Disc.SPEC)) into dbf New_tmp

close databases
sele  0  && переход в свободную рабочую область
USE 'E:\Temp\'+arDbfs[i, 1 ] EXCLUSIVE
  	sele  0  && переход в свободную рабочую область
  	USE E:\Temp\New_tmp.dbf EXCLUSIVE
select arDbfs[i, 1 ]
scan  && перебор всех записей в таблица1
select New_tmp
     go top
        locate for arDbfs[i, 1 ].name=New_tmp.name
	if found()
 	sele 
 	repl pred with New_tmp.pred
	endif
endscan
Next

...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37124668
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorЯ не знаю что возвращает arDbfs[i,1]

Это элемент массива со списком файлов, 1 - имя файла, строка
Help ADIR()

Посмотреть что угодно можно вставив вывод на экран:
Код: plaintext
? type("arDbfs[i,1]"), arDbfs[i, 1 ]
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37124699
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorОшибка в строке
Код: plaintext
1.
        locate for arDbfs[i, 1 ].name=New_tmp.name
Я не знаю что возвращает arDbfs[i,1]
Код работает если вместо arDbfs[i,1].name прописать P5xxxxxx.name
Не работает потому что надо сначала открыть DBF а потом по ней искать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
For i =  1  to ADir(arDbfs, 'E:\temp\P5??????.dbf')
	?arDbfs[i, 1 ]
close databases
sele  0  && переход в свободную рабочую область
USE 'E:\Temp\'+arDbfs[i, 1 ] EXCLUSIVE alias Table1
  	sele  0  && переход в свободную рабочую область
  	USE E:\Temp\New_tmp.dbf EXCLUSIVE
select Table1
scan  && перебор всех записей в таблица1
select New_tmp
     go top
        locate for Table1.name=New_tmp.name
	if found()
 	sele 
 	repl pred with New_tmp.pred
	endif
endscan
select Table1
use
Next

Про ALIAS я тебе уже писал тут
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37124769
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Спасибо
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37124964
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопросик При выполнении
Код: plaintext
1.
into dbf New_tmp
спрашивает о перезаписи есть возможность отменить это (т.е. без вопросов о перезаписи).
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37125148
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь в начало программы
Код: plaintext
set safety off
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37141051
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет желания создавать новую тему. При попытке объединить две таблицы запросом
Код: plaintext
1.
2.
3.
4.
select PR, GOD, FO, FAKULT, SPEC, S_FAK, SPK, KURS, KOLST, OPLP, OPLX, KOLGR, KOLPGR, SEM, PG, NED, PPNAME, KBLOK, NBLOK, KAF, PRED, DISZIP, NKAF, LEK, LAB, PRA, IND_RUK, EKZ, ZA, KUR, KONT, GOS, H_LEK, H_LAB, H_PRA, H_IND_RUK, H_ZA, H_EKZ, H_GOS, H_KONS, H_KONTR, H_KUR, H_DIPL_RUK, H_DIPL_REZ, H_PRA_U, H_PRA_P, H_ASP_RUK, H_SOISK_RU, H_EKZV, H_RUK, H_FDP, H_OTHER, H_VSE, H_VSEP, H_VSEX, KPBLOK from E:\Temp\KAF1401.DBF;
UNION; 
select PR, GOD, FO, FAKULT, SPEC, S_FAK, SPK, KURS, KOLST, OPLP, OPLX, KOLGR, KOLPGR, SEM, PG, NED, PPNAME, KBLOK, NBLOK, KAF, PRED, DISZIP, NKAF, LEK, LAB, PRA, IND_RUK, EKZ, ZA, KUR, KONT, GOS, H_LEK, H_LAB, H_PRA, H_IND_RUK, H_ZA, H_EKZ, H_GOS, H_KONS, H_KONTR, H_KUR, H_DIPL_RUK, H_DIPL_REZ, H_PRA_U, H_PRA_P, H_ASP_RUK, H_SOISK_RU, H_EKZV, H_RUK, H_FDP, H_OTHER, H_VSE, H_VSEP, H_VSEX, KPBLOK from E:\Temp\KAF1507.DBF;
into dbf Disk

Ругается "SELECT's are not UNION compatible" Что в двух строчках может не нравится?
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37141122
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Chek_FedorРугается "SELECT's are not UNION compatible"Вам перевести? Что в двух строчках может не нравится?Несовместимость результатов этитх строчек.
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37141415
Chek_Fedor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо Append from выручил
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37141650
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут заглянул на шум.., извиняюсь что вмешиваюсь...
по моему ошибка в "SELECT's are not UNION compatible", в том что у таблиц разная структура, вроде бегло посмотрел, наименования одинаковые, а вот тип этих полей может отличаться... или вообще поля такого нет, и поэтому .F... для точного ответа нужны именно эти две таблицы именно с того места, где они находились во время этого сообщения и именно в то время, когда было это сообщение...для чистоты эксперемента.., тогда можно ответить конкретно...:-)
...
Рейтинг: 0 / 0
FoxPro и INSERT INTO
    #37143143
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, для простого объединения таблиц с (типа) одинаковой структурой не обязательно использовать SELECT-SQL:
Код: plaintext
1.
2.
3.
4.
SELECT  0 
USE E:\Temp\KAF1401.DBF
COPY TO Disk
USE Disk
APPEND FROM E:\Temp\KAF1507.DBF
...
Рейтинг: 0 / 0
25 сообщений из 76, страница 3 из 4
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro и INSERT INTO
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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