Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 15:18   #1
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию Как реализовать замену клеток

Задача такая, есть база
она подключает таблицу из xls файла
там запрос получает данные по полям.
В итоге все это выводится в отчет по нужной форме.
Все это сделано чтобы делать отчеты по установленному шаблону заказчика.

Есть одно НО - в одном столбце клетки принимают данные виде
КРХХХ - ХХХ число и
КВХХХ - аналогично
надо сделать чтобы в отчете вместо квххх писалось round,
а вместо крххх square.
Подскажите как это можно сделать. Сразу скажу отчет сделан без применения VB ибо в аксесе первый раз чего либо делаю и ничего толком не знаю, это то методом копи-пасты написал.

Буду очень благодарен за помощь.
s3m вне форума Ответить с цитированием
Старый 14.11.2010, 10:09   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте s3m.
"..в одном столбце клетки принимают данные виде .." о "клетках" я не слышал, возможно ячейки столбца подключенной таблицы Excel Вы имели ввиду?
если да, то задача может быть решена зная имя поля (присвоенного интересующему столбцу таблицы Excel) Например поле F1:
Код:
SELECT IIf(Left(F1, 2) = "КР", "square", IIf(Left(F1, 2) = "КВ", "round", "")) AS F, ... FROM ...
подобная корректировка SQL конструкции источника данных отчета позволит ("..без применения VB..") получить необходимый результат.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 16.11.2010, 12:17   #3
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию

Спасибо, огромное все вышло как надо.
s3m вне форума Ответить с цитированием
Старый 17.11.2010, 15:50   #4
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию

Если не трудно, может кто еще подскажет.
Все та же база описанная выше. Теперь выяснилась такая проблемка. Есть
один столбец где в основном числовые значения, но встречаются и текстовые типа
100-200, при связывании Аксес не дает изменять тип столбца, тк таблица находится в
readonly режиме. И почему то выставляет для этого столбца тип Числовой.
Есс-но когда он натыкается на 100-200 он пишет #Число! и данная ячейка в отчете пустая... Подскажите как можно поменять тип столбика при связанной таблице из екселевсского файла.
s3m вне форума Ответить с цитированием
Старый 17.11.2010, 21:09   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте s3m.
"..где в основном числовые значения.." - не "в основном", а все данные должны быть однотипными, т.е. приведите все значения в поле к однообразному текстовому виду, на формат заданный в Excel не стоит полагаться, надежнее - добавить апостроф в ячейку содержащую число '123.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 18.11.2010, 09:38   #6
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию

К сожалению апостроф поставить нельзя, там потом формируется отчет, это поле размер балки, если он будет с апострофом, вообщем сами понимаете, что за отчет выйдет. А нельзя заставить аксес просто считать, что эти поля текст?
s3m вне форума Ответить с цитированием
Старый 18.11.2010, 10:07   #7
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Цитата:
Сообщение от s3m Посмотреть сообщение
А нельзя заставить аксес просто считать, что эти поля текст?
Можно путем "танцев с бубном".
В таблице эксель добавьте строчку (вверху), напишите в верхней ячейке "глючного" столбца любой текст, сделайте связь из аксесса, получится текстовый тип поля. После установления связи уберите лишнюю строку в экселе.
Abrakadabra вне форума Ответить с цитированием
Старый 18.11.2010, 13:28   #8
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию

Вариант выше не прошел все равно поле осталось цифровым.

Я придумал другой костыль, сделал еще один столбец в котором сделал
=AE2&"mm" в итоге получил 100-200mm подскажите теперь каким запросом убирать
эту добавку? Или может как ее лучше составить, чтобы проще потом отсавлять цифры .
s3m вне форума Ответить с цитированием
Старый 18.11.2010, 13:32   #9
s3m
 
Регистрация: 13.11.2010
Сообщений: 6
По умолчанию

Все проблема решена даже еще проще я сделал столбик с числом + " " в итоге визуально в клетке только число
s3m вне форума Ответить с цитированием
Старый 18.11.2010, 13:59   #10
Abrakadabra
Форумчанин
 
Регистрация: 26.04.2008
Сообщений: 487
По умолчанию

Специально попробовал предложенный мною вариант. Все работает, при добавлении строки и обновлении связей поле становится текстовым
Abrakadabra вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество клеток мембраны artemavd Общие вопросы Delphi 33 07.05.2010 03:03
Условие на замену pchakoff Microsoft Office Access 6 11.12.2009 23:01
макрос на поиск и замену. Что не так? Viento Microsoft Office Excel 6 11.02.2009 22:36
Подсчёт непустых клеток mik Microsoft Office Excel 7 27.10.2007 13:40
Как произвести замену всех двузначных чисел на "00число которое заменено" ВЯЧ Microsoft Office Excel 5 06.12.2006 01:02