Доброго времени суток, Посетитель!
|
|
|
|
|
|
|
|
|
вид форума:
|
|
|
|
| Помогите!!! Не работает запрос:
'CurrentDb.Execute ("UPDATE 'C:\ZAKACHKA_EMI\EXPORT\VAT\DATA_NAK177.MDB'.CORP_OU1 INNER JOIN help_corp_ou1 ON (help_corp_ou1.ZVIT_GOD = CORP_OU1.ZVIT_GOD) AND (help_corp_ou1.E_EDRPOU = CORP_OU1.E_EDRPOU) SET CORP_OU1.OUP_Q29S = [help_CORP_OU1].[OUP_Q29S], CORP_OU1.OUP_Q29P = [help_CORP_OU1].[OUP_Q29P], CORP_OU1.OUP_Q29F = [help_CORP_OU1].[OUP_Q29F], CORP_OU1.OUP_Q29G = [help_CORP_OU1].[OUP_Q29G], CORP_OU1.OUP_Q29O = [help_CORP_OU1].[OUP_Q29O], CORP_OU1.OUP_Q29H = [help_CORP_OU1].[OUP_Q29H], CORP_OU1.OUP_Q29R = [help_CORP_OU1].[OUP_Q29R], CORP_OU1.OUP_Q29K = [help_CORP_OU1].[OUP_Q29K], CORP_OU1.OUP_Q29V = [help_CORP_OU1].[OUP_Q29V], CORP_OU1.OUP_Q29T = [help_CORP_OU1].[OUP_Q29T], CORP_OU1.OUP_Q29M = [help_CORP_OU1].[OUP_Q29M], CORP_OU1.OUP_Q29A = [help_CORP_OU1].[OUP_Q29A]," _
'& "CORP_OU1.OUP_Q29D = [help_CORP_OU1].[OUP_Q29D], CORP_OU1.OUP_Q29U = [help_CORP_OU1].[OUP_Q29U], CORP_OU1.OUP_Q29Z = [help_CORP_OU1].[OUP_Q29Z], CORP_OU1.OUP_Q30S = [help_CORP_OU1].[OUP_Q30S], CORP_OU1.OUP_Q30P = [help_CORP_OU1].[OUP_Q30P], CORP_OU1.OUP_Q30F =[help_CORP_OU1].[OUP_Q30F] , CORP_OU1.OUP_Q30G = [help_CORP_OU1].[OUP_Q30G], CORP_OU1.OUP_Q30O = [help_CORP_OU1].[OUP_Q30O], CORP_OU1.OUP_Q30H = [help_CORP_OU1].[OUP_Q30H], CORP_OU1.OUP_Q30R = [help_CORP_OU1].[OUP_Q30R], CORP_OU1.OUP_Q30K = [help_CORP_OU1].[OUP_Q30K], CORP_OU1.OUP_Q30V = [help_CORP_OU1].[OUP_Q30V], CORP_OU1.OUP_Q30T = [help_CORP_OU1].[OUP_Q30T], CORP_OU1.OUP_Q30M = [help_CORP_OU1].[OUP_Q30M], CORP_OU1.OUP_Q30A = [help_CORP_OU1].[OUP_Q30A], CORP_OU1.OUP_Q30D = [help_CORP_OU1].[OUP_Q30D]," _
'& "CORP_OU1.OUP_Q30U = [help_CORP_OU1].[OUP_Q30U], CORP_OU1.OUP_Q30Z = [help_CORP_OU1].[OUP_Q30Z], CORP_OU1.OUP_Q31S = [help_CORP_OU1].[OUP_Q31S], CORP_OU1.OUP_Q31P = [help_CORP_OU1].[OUP_Q31P], CORP_OU1.OUP_Q31F = [help_CORP_OU1].[OUP_Q31F],CORP_OU1.OUP_Q31G = [help_CORP_OU1].[OUP_Q31G], CORP_OU1.OUP_Q31O = [help_CORP_OU1].[OUP_Q31O], CORP_OU1.OUP_Q31H = [help_CORP_OU1].[OUP_Q31H], CORP_OU1.OUP_Q31R = [help_CORP_OU1].[OUP_Q31R], CORP_OU1.OUP_Q31K = [help_CORP_OU1].[OUP_Q31K], CORP_OU1.OUP_Q31V = [help_CORP_OU1].[OUP_Q31V] , CORP_OU1.OUP_Q31T = [help_CORP_OU1].[OUP_Q31T], CORP_OU1.OUP_Q31M = [help_CORP_OU1].[OUP_Q31M], CORP_OU1.OUP_Q31A = [help_CORP_OU1].[OUP_Q31A], CORP_OU1.OUP_Q31D = [help_CORP_OU1].[OUP_Q31D], CORP_OU1.OUP_Q31U = [help_CORP_OU1].[OUP_Q31U]," _
'& "CORP_OU1.OUP_Q31Z = [help_CORP_OU1].[OUP_Q31Z], CORP_OU1.OUP_Q32S = [help_CORP_OU1].[OUP_Q32S], CORP_OU1.OUP_Q32P = [help_CORP_OU1].[OUP_Q32P],CORP_OU1.OUP_Q32F = [help_CORP_OU1].[OUP_Q32F], CORP_OU1.OUP_Q32G = [help_CORP_OU1].[OUP_Q32G], CORP_OU1.OUP_Q32O = [help_CORP_OU1].[OUP_Q32O],CORP_OU1.OUP_Q32H = [help_CORP_OU1].[OUP_Q32H], CORP_OU1.OUP_Q32R = [help_CORP_OU1].[OUP_Q32R], CORP_OU1.OUP_Q32K = [help_CORP_OU1].[OUP_Q32K], CORP_OU1.OUP_Q32V = [help_CORP_OU1].[OUP_Q32V],CORP_OU1.OUP_Q32T = [help_CORP_OU1].[OUP_Q32T], CORP_OU1.OUP_Q32M = [help_CORP_OU1].[OUP_Q32M], CORP_OU1.OUP_Q32A = [help_CORP_OU1].[OUP_Q32A], CORP_OU1.OUP_Q32D = [help_CORP_OU1].[OUP_Q32D], CORP_OU1.OUP_Q32U = [help_CORP_OU1].[OUP_Q32U],CORP_OU1.OUP_Q32Z = [help_CORP_OU1].[OUP_Q32Z]," _
'& "CRP_OU1.OUP_Q33 = [help_CORP_OU1].[OOUP_Q33], CORP_OU1.OUP_Q34 = [help_CORP_OU1].[OUP_Q34], CORP_OU1.reg_number = [help_CORP_OU1].[reg_number], CORP_OU1.region = [help_CORP_OU1].[region];" _
'& "WHERE (((help_corp_ou1.E_EDRPOU)=2006));") | |
|
| |
|
|
|
| На что ругается?...
вообще заремлен странно...
Можно было заремить только первую строку.. ' перед & вроде как и не был бы нужен...
вообще, привычнее видеть перенос
" & _ | |
|
| |
|
|
|
| И мне тоже помогите, у меня тоже не работает
SELECT tblWayBill.WayBillNum AS WayBillNum, tblWayBill.WayBillDate AS WayBillDate, 'DTS' AS Imj_post, '3267' AS K_fpst, 0 AS Tarif_pr,
0 AS Ndc_tf, 0 AS Stm_proch,
(SELECT COUNT('*')
FROM tblWayBillDetail wbN
WHERE wbN.WayBillDetailId <= wb.WayBillDetailId AND wbn.WayBillID = wb.WayBillID) AS N_stroki, tblBill.BillContract AS N_kontr,
'' AS D_kontr, tblProducts.ProductName AS ProductName, wb.ProductID AS ProductID, tblUnits.UnitShort AS Imj_izm,
tblProducts.ProductProducer AS ProductProducer, wb.EXP AS D_gdn, dbo.fnGetCertificateNum(tblCertificate.cerID) AS cerNum,
tblCertificate.cerIssueDate AS cerIssueDate, tblCertificate.cerIssued AS cerIssued, tblCertificate.cerID AS cerID, tblCertificate.cerTerm AS cerTerm,
0 AS N_sert, '' AS D_sert, wb.WayBillQty AS WayBillQty, 0 AS St_upak, 0 AS KolStUpak, 0 AS Pr_upak, 0 AS KolPrUpak,
tblProducts.ProductPriceState AS Cena_o, (wb.WayBillPrice / (1 + tblProducts.ProductNDS) - tblProducts.ProductPriceState)
/ tblProducts.ProductPriceState AS Nacen_pst, wb.WayBillPrice / (1 + tblProducts.ProductNDS) AS WayBillPriceWONDS,
wb.WayBillPrice AS WayBillPrice, wb.WayBillPrice * wb.WayBillQty / 1.1 AS [Sum], wb.WayBillPrice * wb.WayBillQty AS Sumsnds,
wb.WayBillPrice * wb.WayBillQty - wb.WayBillPrice * wb.WayBillQty / 1.1 AS Sum_nds, tblWayBill.WayBillID AS WayBillID,
tblCertificate.cerIssuer AS cerIssuer, tblCertificate.cerPassportNum AS cerPassportNum, tblCertificate.cerPassportDate AS cerPassportDate,
wb.WayBillDetailID AS WayBillDetailID, tblWayBill.WayBillCustomer AS WayBillCustomer, tblCustomers.CustomerName AS CustomerName,
tblProducts.ProductNDS AS ProductNDS, tblIncome.IncomeCustomer AS IncomeCustomer, IncomeProvider.CustomerName AS IncomeCustomerName,
tblIncomeDetail.IncomeBatch AS IncomeBatch, tblIncomeDetail.IncomeDetailGTD AS IncomeDetailGTD, tblCertificate.cerHolder AS cerHolder
FROM tblWayBill INNER JOIN
tblWayBillDetail wb ON tblWayBill.WayBillID = wb.WayBillID INNER JOIN
tblProducts WITH (nolock) ON wb.ProductID = tblProducts.ProductID INNER JOIN
tblBill WITH (nolock) ON tblWayBill.WayBillBillID = tblBill.BillID INNER JOIN
tblUnits WITH (nolock) ON tblProducts.ProductUnit = tblUnits.UnitID INNER JOIN
tblIncomeDetail WITH (nolock) ON wb.IncomeProductID = tblIncomeDetail.IncomeProductID INNER JOIN
tblIncome WITH (nolock) ON tblIncomeDetail.IncomeID = tblIncome.IncomeID INNER JOIN
tblCustomers ON tblWayBill.WayBillCustomer = tblCustomers.CustomerID INNER JOIN
tblCustomers IncomeProvider ON tblIncome.IncomeCustomer = IncomeProvider.CustomerID LEFT OUTER JOIN
tblCertificate WITH (nolock) ON wb.ProductID = tblCertificate.cerProduct AND wb.IncomeBatch = tblCertificate.cerIncomeBatch
WHERE (tblWayBill.WayBillID = [idWayBill])
ORDER BY wb.WayBillDetailID | |
|
| |
|
|
|
| Это я к тому, что разобраться в этом безумном SQL тексте без указания сообщения о ошибке практически невозможно. | |
|
| |
|
|
|
| А чай с лимоном не помог?
Тогда с медком, с медком...
PS
Слушай, мы парню даже не оставили возможность свое сообщение подредактировать...
Коршуны, чистые коршуны. | |
|
| |
|
|
|
| Напишу проще... Есть 1 таблица. из неё одним запросом нужно импортировать часть полей в другую таблицу....Затем другую часть вторым запросом полей с помощью UPDATE вставить в туже таблицу... Поимогите.... | |
|
| |
|
|
|
| Попробуйте с помощью конструктора запросов перетащить нужные поля, на панели выбрать запрос на создание таблиц и укажите где создать.
Затем создайте второй запрос, но он будет запрос на добавление. | |
|
| |
|
|
|
| Не совсем понимаю в чем проблема
сделайте мастером 2 запроса
1 на добавление
2-й на обновление
посмотрите строку SQL | |
|
| |
|
|
|
| С конструктора вставляю ничего не работает. У меня запрос выглядит так:
CurrentDb.Execute ("INSERT INTO CORP_OU1 IN 'C:\ZAKACHKA_EMI\EXPORT\VAT\DATA_NAK177.MDB' SELECT dbo_VAT_CORP_OU1.* FROM dbo_VAT_CORP_OU1 INNER JOIN dbo_VAT_TITLIST ON (dbo_VAT_CORP_OU1.E_EDRPOU = dbo_VAT_TITLIST.E_EDRPOU) AND (dbo_VAT_CORP_OU1.ZVIT_GOD = dbo_VAT_TITLIST.ZVIT_GOD)WHERE (dbo_VAT_TITLIST.ZVIT_GOD=" & RIK & ");")
Его длина привышает 2K. Как мне его разбить на 2 запроса? Помогите... | |
|
| |
|
|
|
| А есл из запроса запускать работает?
оказывается работать потому что длинна больше 2К? или какое-то сообщение о ошибке выдает?
А есди езапускать как созраненный запрос ?
currentdb.QueryDefs("ИмяЗапроса").execute
|
| |
|
| |
|
|
|
| Выдаёт: "Слишком большая длина записи" | |
|
| |
|
|
|
| попробуйте убрать префикс таблицы в неповторяющихся полях т.е.
всесто
select tabl_1.field1,tabl_1.field2, tabl_1.field3, tabl_1.field4 form tabl_1
|
написать
select field1, field2, field3, field4 form tabl_1
|
| |
|
| |
|
|
|
| В єтом случае пишит что поле может соответствовать нескольким таблицам. У меня все поля совпадают... | |
|
| |
|
|
|
| а если только в неповторяющихся, а если ввести псевдоним для таблиц покороче | |
|
| |
|
|
|
| всем полям разные синонимы? | |
|
| |
|
|
|
|
| можно коротенький пример? если вас не затруднит.... | |
|
| |
|
|
|
| SELECT t1.Field1, t1.Field2, t1.Field3, t1.Field4, t1.Field5, t1.Field5
FROM SamoeDlinnoeNazvanieTablicy AS t1; | |
|
| |
|
|
|
| Не помогло.... В сё равно пишит слишком большая длина записи... | |
|
| |
|
|
|
| так... еще раз.
если создать этот запрос в котсрукторе и запустить - он выполняется? | |
|
| |
|
|
|
| Нет. Строка состояния показывает что выполнение запроса доходит до половины и затем обраваеться... SQL Server напрямую выгрузил без проблем... | |
|
| |
|
|
|
| сдается мне что проблема не в запросе, а в созвращаемых им данных.
К серверу соеденяетесь через ODBC?
Попробуйте ограничить кол-во полей разбив запрос на добавление еще на 2 этапа
сначала довавить записи заполнив часть полей, потом обновить остальные записи, а потом обновить оставшуюся часть.
Возможно что в какой-то строке есть данные которые приводят к такой ошибке. | |
|
| |
|
|
|
| Да через ODBC. Счас буду пробывать... | |
|
| |
HiProg.com - Технологии программирования
|