powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Знатокам SQL
9 сообщений из 9, страница 1 из 1
Знатокам SQL
    #33572051
Alex_Sandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите выход из ситуации:

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

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

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

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

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

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

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

А кто такой DTS?
...
Рейтинг: 0 / 0
Знатокам SQL
    #33578939
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Знатокам SQL
    #33579043
Дурак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Знатокам SQL
    #33582093
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?
...
Рейтинг: 0 / 0
Знатокам SQL
    #33582129
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Знатокам SQL
    #33582597
Alex_Sandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура! Заработало!
Всем спасибо!
А я сдуру этот апостроф утраивал.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Знатокам SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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