|
|
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
Задача - есть две таблицы с кучей полей... Поле ID -ключ.... Нужно в таблице1 заменить значения ВСЕХ полей полями из Таблицы2. .как этосделать? неужели нужно перечислять все поля в запросе? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 15:27:27 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
Похоже что да. Я себе для формирования таких запросов написал функцию, которая по имени таблицы возвращает список полей. И потом его через буфер обмена в запрос:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 15:46:22 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
SharkПохоже что да. Я себе для формирования таких запросов написал функцию, которая по имени таблицы возвращает список полей. И потом его через буфер обмена в запрос:-) Зачем буфер обмена? А что нельзя выполнить SQL-строку сгенеренную динамически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:21:34 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
:-) Можно. Но чаще всего эта строка, как и в этом примере, требует ручной доводки. Тут , например, надо выкинуть id. Можно это сделать и бэйсиком, конечно, но это уже смахивает на извращение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:24:39 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
Shark:-) Можно. Но чаще всего эта строка, как и в этом примере, требует ручной доводки. Тут , например, надо выкинуть id. Можно это сделать и бэйсиком, конечно, но это уже смахивает на извращение. Ага - значит список полей из таблы вы можете получить? А спросить какой ключик нет? А придется спросить, чтобы (как минимум) знать, по каким полям связка идет!!! И даже если не выкините: - ну идет связака по полю id - ну обновиться оно (на тоже самое значение) - и что? делов-то :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:31:03 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
Мы наверно об разном:-) Мне иногда приходится писать похожие запросы 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:38:18 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
не знаю зачем тебе это, но: - таблы с десятками полей (да еще и обновлять все сразу) - не не мое это - если полей штук 20, то их легко в конструкторе мышкой насчелкать (а потом уже подправить запросец :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:45:31 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
щёлкни в построителе запросов по имени таблицы - все поля выделятся тащишь вниз - сохраняешь - усё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:48:37 |
|
||
|
помогите с запросом, который бы обновил ВСЕ поля кроме ключевого в одной из таблиц...
|
|||
|---|---|---|---|
|
#18+
- таблы с десятками полей (да еще и обновлять все сразу) - не не мое это Думаешь,мое? А х%ли я сделаю, если задача такая:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:51:53 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32608515&tid=1673146]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 347ms |

| 0 / 0 |
