Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц... / 10 сообщений из 10, страница 1 из 1
16.07.2004, 15:27:27
    #32608446
Yura Zavaliy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
Задача - есть две таблицы с кучей полей... Поле ID -ключ.... Нужно в таблице1 заменить значения ВСЕХ полей полями из Таблицы2. .как этосделать? неужели нужно перечислять все поля в запросе? Спасибо!
...
Рейтинг: 0 / 0
16.07.2004, 15:46:22
    #32608515
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
Похоже что да. Я себе для формирования таких запросов написал функцию, которая по имени таблицы возвращает список полей. И потом его через буфер обмена в запрос:-)
...
Рейтинг: 0 / 0
16.07.2004, 16:21:34
    #32608619
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
SharkПохоже что да. Я себе для формирования таких запросов написал функцию, которая по имени таблицы возвращает список полей. И потом его через буфер обмена в запрос:-)
Зачем буфер обмена?
А что нельзя выполнить SQL-строку сгенеренную динамически?
...
Рейтинг: 0 / 0
16.07.2004, 16:24:39
    #32608626
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
:-)
Можно.
Но чаще всего эта строка, как и в этом примере, требует ручной доводки.
Тут , например, надо выкинуть id. Можно это сделать и бэйсиком, конечно, но это уже смахивает на извращение.
...
Рейтинг: 0 / 0
16.07.2004, 16:31:03
    #32608641
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
Shark:-)
Можно.
Но чаще всего эта строка, как и в этом примере, требует ручной доводки.
Тут , например, надо выкинуть id. Можно это сделать и бэйсиком, конечно, но это уже смахивает на извращение.
Ага - значит список полей из таблы вы можете получить?
А спросить какой ключик нет?
А придется спросить, чтобы (как минимум) знать, по каким полям связка идет!!!

И даже если не выкините:
- ну идет связака по полю id
- ну обновиться оно (на тоже самое значение)
- и что? делов-то :)
...
Рейтинг: 0 / 0
16.07.2004, 16:38:18
    #32608663
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
Мы наверно об разном:-)
Мне иногда приходится писать похожие запросы
Update
Поле1
...
Поле9999
Это я загнул конечно, но их десятки.
Или Create table
...
Поэтому написал пару функций, которые нигде не используются, кроме как мной при ваянии скриптика

Мне иногда помогает.

Public Function fnFieldList(pTableName As String, pCn As ADODB.Connection) As String
Dim s1 As String, sResult As String, sSQL As String
Dim rst1 As ADODB.Recordset: Set rst1 = New ADODB.Recordset
sSQL = "Select * From " & pTableName & " Where (0=1)"
rst1.Open sSQL, pCn, adOpenStatic, adLockReadOnly
Dim f1 As ADODB.Field
sResult = ""
For Each f1 In rst1.Fields
sResult = sResult & pTableName & "." & f1.Name & " as " & _
pTableName & "_" & f1.Name & "," & vbCrLf
Next f1
sResult = Left(sResult, Len(sResult) - 3)
rst1.Close
fnFieldList = sResult
Set rst1 = Nothing
End Function

Public Function fnFieldListWithType(pTableName As String, pCnSQL As ADODB.Connection) As String
Dim s1 As String, sResult As String, sSQL As String, sType As String
sSQL = "Select * From " & pTableName & " Where (0=1)"
With pCnSQL.Execute(sSQL)
Dim f1 As ADODB.Field
sResult = ""
For Each f1 In .Fields
Select Case f1.Type
Case adSmallInt: sType = "smallint"
Case adInteger: sType = "int"
Case adCurrency: sType = "money"
Case adBoolean: sType = "bit"
Case adUnsignedTinyInt: sType = "tinyint"
Case adDBTimeStamp: sType = "smalldatetime"
Case adDate: sType = "smalldatetime"
Case adVarChar: sType = "varchar(" & CStr(f1.DefinedSize) & ")"
Case adVarWChar: sType = "varchar(" & CStr(f1.DefinedSize) & ")"
Case adLongVarBinary: sType = "image"
Case Else: Err.Raise 1200, , "Íåèçâåñòíûé òèï. N=" & CStr(f1.Type)
End Select
sResult = sResult & f1.Name & " " & sType & "," & vbCrLf
Next f1
sResult = Left(sResult, Len(sResult) - 3)
fnFieldListWithType = sResult
End With
End Function

Public Function fnFieldListWithTypeJet(pTableName As String, pCnSQL As ADODB.Connection) As String
Dim s1 As String, sResult As String, sSQL As String, sType As String
sSQL = "Select * From " & pTableName & " Where (0=1)"
With pCnSQL.Execute(sSQL)
Dim f1 As ADODB.Field
sResult = ""
For Each f1 In .Fields
sType = fnAdoType(f1)
sResult = sResult & f1.Name & " " & sType & "," & vbCrLf
Next f1
sResult = Left(sResult, Len(sResult) - 3)
fnFieldListWithTypeJet = sResult
End With

End Function
...
Рейтинг: 0 / 0
16.07.2004, 16:45:31
    #32608686
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
не знаю зачем тебе это, но:
- таблы с десятками полей (да еще и обновлять все сразу) - не не мое это
- если полей штук 20, то их легко в конструкторе мышкой насчелкать (а потом уже подправить запросец :) )
...
Рейтинг: 0 / 0
16.07.2004, 16:48:37
    #32608697
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
щёлкни в построителе запросов по имени таблицы - все поля выделятся
тащишь вниз - сохраняешь - усё.
...
Рейтинг: 0 / 0
16.07.2004, 16:51:53
    #32608700
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
- таблы с десятками полей (да еще и обновлять все сразу) - не не мое это

Думаешь,мое?
А х%ли я сделаю, если задача такая:-)
...
Рейтинг: 0 / 0
16.07.2004, 16:51:58
    #32608701
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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