Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Знатокам SQL / 9 сообщений из 9, страница 1 из 1
28.02.2006, 20:45:00
    #33572051
Alex_Sandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Подскажите выход из ситуации:

У таблицы ~20 полей. В некоторых
строковых полях могут быть апострофы.
Есть поле счётчик.

Надо одну из записей как бы клонировать
с некоторыми изменениями.

Идеальный вариант:

Set r=RS.Clone
r.Edit
r!Поле1=Значение1
r!Поле2=Значение2
r.Update
но не работает.
...
Рейтинг: 0 / 0
01.03.2006, 07:49:10
    #33572390
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
если чисто SQL
то запров вроде этого
Insert into Table(t.name)
select t.name + ' изменен'
from Table
Where t.name ='критерий'

копирует запись с изменениями
...
Рейтинг: 0 / 0
01.03.2006, 09:45:45
    #33572554
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Создаете пакет в DTS, который выполняет все необходимые действия, и вызываете его из VB. Зачем париться на клиенте, когда у сервера есть отличные встроенные средства?
...
Рейтинг: 0 / 0
02.03.2006, 19:50:13
    #33578322
Alex_Sandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
TIKO, я правильно понял:

INSERT INTO Таблица SELECT Таблица.НужныеПоляБезСчётчика FROM _
Таблица WHERE Критерий

по идее должна копировать запись, но куда тут изменения прикрутить?

А кто такой DTS?
...
Рейтинг: 0 / 0
03.03.2006, 09:58:17
    #33578939
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Alex_SandrTIKO, я правильно понял:

INSERT INTO Таблица SELECT Таблица.НужныеПоляБезСчётчика FROM _
Таблица WHERE Критерий

по идее должна копировать запись, но куда тут изменения прикрутить?


вместо Таблица.НужныеПоляБезСчётчика (вместо полей которые нужно изменить) просто пишешь новое значение.
пример есть таблица Tab1(ID-счетчик,Name-текс,Price-число) нужно скопировать запись с Name='Пиво' с изменением Price на 100
Код: plaintext
1.
2.
3.
4.
INSERT INTO TAB1(NAME,PRICE) 
        SELECT NAME, 100  
          FROM TAB1
        WHERE NAME = 'ПИВО' 

нужно добавить новую запись
Код: plaintext
1.
2.
INSERT INTO TAB1(NAME,PRICE) 
              VALUES ('ВИНО', 150 )  
...
Рейтинг: 0 / 0
03.03.2006, 10:26:12
    #33579043
Дурак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Alex_Sandr
TIKO, я правильно понял:
INSERT INTO Таблица SELECT Таблица.НужныеПоляБезСчётчика FROM _
Таблица WHERE Критерий
по идее должна копировать запись, но куда тут изменения прикрутить?


Да вот же они.

авторInsert into Table(t.name)
select t.name + ' изменен'
from Table
Where t.name ='критерий'


Alex_Sandr
А кто такой DTS?

Data Transformation Services
...
Рейтинг: 0 / 0
04.03.2006, 19:48:13
    #33582093
Alex_Sandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Да, работает:

Dim sPole As String
Dim BD As Database
sPole = "дАртаньян"
Set BD = OpenDatabase("C:\db2.mdb")
BD.Execute "INSERT INTO Таб1(Имя, Фам, Отч) SELECT '" + sPole + "', Фам, Отч FROM Таб1 WHERE id=1"

, но с sPole = "д'Артаньян" ругается:
Run-time error '3075':
Oшибкa cинтaкcиca (пpoпyщeн oпepaтop) в выpaжeнии зaпpoca
"д'Apтaньян', Фaм, Oтч FROM Taб1 WHERE id=1'.

Как подружить апостроф с INSERT INTO?
...
Рейтинг: 0 / 0
04.03.2006, 20:40:00
    #33582129
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Alex_SandrДа, работает:

Dim sPole As String
Dim BD As Database
sPole = "дАртаньян"
Set BD = OpenDatabase("C:\db2.mdb")
BD.Execute "INSERT INTO Таб1(Имя, Фам, Отч) SELECT '" + sPole + "', Фам, Отч FROM Таб1 WHERE id=1"

, но с sPole = "д'Артаньян" ругается:
Run-time error '3075':
Oшибкa cинтaкcиca (пpoпyщeн oпepaтop) в выpaжeнии зaпpoca
"д'Apтaньян', Фaм, Oтч FROM Taб1 WHERE id=1'.

Как подружить апостроф с INSERT INTO?

продублировать его д''Apтaньян'
...
Рейтинг: 0 / 0
05.03.2006, 18:11:01
    #33582597
Alex_Sandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатокам SQL
Ура! Заработало!
Всем спасибо!
А я сдуру этот апостроф утраивал.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Знатокам SQL / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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