Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 |

 

  Вопрос: обновление поля Добавлено: 08.07.07 19:28  

Автор вопроса:  Илья

Ответить

  Ответы Всего ответов: 26  

Номер ответа: 16
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #16 Добавлено: 10.07.07 00:07
Для чего это все в конечном итоге?
Я бы подсказал альтернативу.
Например, если речь идет о занесении суммы количества непустых значений то:
1. DELETE * FROM TABLE2;
2. INSERT INTO TABLE2(INTVAL) SELECT Count(*) FROM TABLE1 WHERE TABLE1.TXTVAL IS NOT NULL;

Ответить

Номер ответа: 17
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #17 Добавлено: 10.07.07 00:12
Первый вариант рулит!!! Огроменное спасибо, а то я затр-ся с энтим запросом, поскольку в Accesse не очень
Просто надо, чтобы человечек вводил слова в таблицу, потом выполнял запрос, производился запрос количества введенных слов, результат заносился в другую таблицу (в которой только числовые поля), а затем производить с этими данными математические решения - складывать там, процеты вычислять и т.п. Т.е. энто вроде текстового калькулятора.
Понимаю, что проще было просто посчитать количество записей слов в поле функцией COUNT, затем внести полученный результат в таблицу, а потом считать, но если количество записей в таблице я запрос написать могу, то сохранение его результата для моей тупой головы проблемы.

Ответить

Номер ответа: 18
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #18 Добавлено: 10.07.07 00:14
Удачи.

Ответить

Номер ответа: 19
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #19 Добавлено: 10.07.07 19:16
2TUGY: по твоему совету сделал запрос на обновление нескольких полей

INSERT INTO Таблица2 (Число1,Число2)
 SELECT 1,Слово1,Слово2 FROM Таблица1
 WHERE Таблица1.Слово1,Слово2 Is Not Null

Пишет, что не совпадает число полей запроса и результирующих полей
Поля названы в обеих таблицах одинаково - Слово1 и Слово2

Ответить

Номер ответа: 20
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #20 Добавлено: 10.07.07 20:05
Тоже самое

с кодом

INSERT INTO Таблица2 (Слово1,Слово2)
SELECT Count (Слово1,Слово2) FROM Таблица1
WHERE Таблица1.TXTVAL IS NOT NULL;

Ответить

Номер ответа: 21
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #21 Добавлено: 10.07.07 23:30
SELECT - запрос на выборку
UPDATE - запрос на обновление
INSERT INTO - запрос на добавление

Разбираем:

INSERT INTO Таблица2 (Слово1,Слово2) -
"Добавить В" "ТаблицуОдин" "в два текстовых поля"
"следующие значения выбранные запросом на выборку".
И какие-такие два текстовых значения добавляются?
Cудя по приведенным запросам попытка вставить либо три значения (1,Слово1,Слово2) либо одно
Count(Слово1,Слово2).


Ответить

Номер ответа: 22
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #22 Добавлено: 11.07.07 10:32
Все правильно, запрос следующий
Добавить значения, выбранные запросом на выборку.
Запрос на выборку - подсчет количества слов в Таблице1
Т.е. Таблица1 - слова, Таблица2 - числа.
1.Запрос - подсчитывает количество слов в полях Слово1 и Слово2 Таблицы1
2.Добавляем полученные результаты в поля Слово1 и Слово2 в Таблице2 (т.е. уже цифры)

Ответить

Номер ответа: 23
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #23 Добавлено: 11.07.07 10:49
Т.Е. насколько я понимаю
INSERT INTO Таблица2 (Слово1,Слово2)
' вставить в поля Слово1 и Слово2 в Таблицу2
 
SELECT Count (Слово1,Слово2) FROM Таблица1

' количество записей в полях Слово1 и Слово2 из Таблицы1
 
WHERE Таблица1.TXTVAL IS NOT NULL;

' где содержимое полей Слово1 и Слово2 в Таблице1 не пустое

Ответить

Номер ответа: 24
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #24 Добавлено: 11.07.07 17:49
  Нет, у тебя получается попытка запроса на добавление 2-х полей из выборки одного поля.
Count(Слово1,Слово2) равносильно Count(*) или просто Сount(Слово1).

INSERT INTO Таблица2 (Слово1,Слово2)
SELECT Count(Слово1), Count(Слово2) FROM Таблица1...


Ответить

Номер ответа: 25
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #25 Добавлено: 11.07.07 18:12
Урррааа! Заработала. Огроменное спасибо

Ответить

Номер ответа: 26
Автор ответа:
 Илья



Вопросов: 5
Ответов: 31
 Профиль | | #26 Добавлено: 11.07.07 20:39
Интересно, что этот запрос выполняется если две таблицы не имеют никакой связи, как только устанавливается связь Один-к-многим, запрос перестает выполняться.
Попробовал так:

INSERT INTO Таблица2 (Слово3, Слово4)
SELECT Count(Слово1), Count(Слово2)
FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.КодСлова = Таблица2.КодСлова
WHERE Таблица1.TXTVAL IS NOT NULL;

не работает. Пишет "нарушение уникальности ключа"
При этом никаких ключей в Таблице2 нет, индексированных полей тоже нет. Кроме того пробовал присваивать индекс полю КодСлова в Таблице2 - тоже самое, ругается.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам