Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 222
от 14.02.2006, 05:24

Администратор:Калашников О.А.
В рассылке:Подписчиков: 116, Экспертов: 18
В номере:Вопросов: 3, Ответов: 6


Вопрос № 35006: Здравствуйте У меня проблема не магу написать код. Задача такая: необходимо в таблице Access найти значение -100000 и заменить его на предыдущее PS. Спасибо .
Вопрос № 35056: Уважаемые эксперты! Dll регистрируются с помощью regsvr32.exe, а с помощью чего регистрируется stdole2.tlb?...
Вопрос № 35061: Уважаемые эксперты! Если в папку, где программа, положить, например, oleaut32.dll и зарегистрировать её, а в системной папке винды лежит её родная oleaut32.dll, какую dll будет использовать моя программа? Если dll положить в отдельную папку, как проп...

Вопрос № 35.006
Здравствуйте
У меня проблема не магу написать код. Задача такая: необходимо в таблице Access найти значение -100000 и заменить его на предыдущее
PS. Спасибо
Отправлен: 08.02.2006, 12:52
Вопрос задал: Копысов Николай Александрович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: DrakoN
Здравствуйте, Копысов Николай Александрович!
Кидаем в форму гридку и дата...
далее настраиваем чтоб дата юзала таблицу из Access и отображала в гридке..
и пишем..
Dim a as real
Data1.Recordset.BOF = true
While Data1.Recordset.EOF = true Do
if Data1.Recordset.Field(номер поля с числом -100000) = -100000 then
Data1.Recordset.Next
a = Data1.Recordset.Field(номер поля с числом -100000)
Data1.Recordset.Previous
Data1.Recordset.Field(номер поля с числом -100000) = a
End if
Data1.Recordset.Next
End while

примерно так синтаксис может хромать но выпадающие меню решит ету проблему удачи!
---------
От Винта!
Ответ отправил: DrakoN (статус: Студент)
Отправлен: 08.02.2006, 13:16

Отвечает: AlexanderZh
Здравствуйте, Копысов Николай Александрович!
Выплни такой запрос:
UPDATE [MyTable] SET [MyColumn] = -99999 WHERE [MyColumn] = -100000;
Ответ отправил: AlexanderZh (статус: 4-ый класс)
Отправлен: 09.02.2006, 12:04

Отвечает: Залетин Виталий Викторович
Здравствуйте, Копысов Николай Александрович!
Выполните SQL-запрос на обновление (ConnectionObject.Execute):

Update TableName Set ColumnName = -99999 Where ColumnName = -100000

Если, конечно, цифру -99999 Вы имели ввиду под предыдущим значением.
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Отправлен: 11.02.2006, 14:34


Вопрос № 35.056
Уважаемые эксперты! Dll регистрируются с помощью regsvr32.exe, а с помощью чего регистрируется stdole2.tlb?
Отправлен: 09.02.2006, 01:09
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Залетин Виталий Викторович
Здравствуйте, Александр А.А.!
Это библиотека типов. Просто подключите ее в свой проект и все.
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Отправлен: 11.02.2006, 14:29
Оценка за ответ: 4
Комментарий оценки:
Каким образом? Для чего она нужна?

Отвечает: PsySex
Здравствуйте, Александр А.А.!
stdole2.tlb это Вы нашли в ссылках проекта? Я вообще снимал галку с OLE Automation и всё также нормально работает. И галку оставлял и ехе никогда не просил stdole2.tlb. Думаю с этим файлом не нужно заморачиваться.
Ответ отправил: PsySex (статус: Студент)
Отправлен: 11.02.2006, 14:46
Оценка за ответ: 3
Комментарий оценки:
Это хорошо, пока установлен VB на машине и операционка XP. Но если бы этот файл не был нужен, то инсталлятор VB-программ не использовал бы его...


Вопрос № 35.061
Уважаемые эксперты! Если в папку, где программа, положить, например, oleaut32.dll и зарегистрировать её, а в системной папке винды лежит её родная oleaut32.dll, какую dll будет использовать моя программа? Если dll положить в отдельную папку, как прописать путь к ним моей проге (чтобы только она использовала эти dll)?

Отправлен: 09.02.2006, 02:09
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Залетин Виталий Викторович
Здравствуйте, Александр А.А.!
Скорее всего будет использоваться родная библиотека - просто файл oleaut32.dll попадает под SFC - это один из системных файлов и винда не согласится его отдать в чьи либо руки. Путями к своим dll не поможешь - это ActiveX и они могут располагаться где угодно, лишь бы были зарегистрированы в системе. Чтобы только определенная программа использовала написанные Вами dll, можно проделать нехитрую операцию: просто можно поместить в класс строковое свойство, отвечающее за идентификацию приложения, использующего dll (пусть называется MainSec), далее - из своего приложения присвоить MainSec какую-то строку. Потом спокойно вызывать свойства и методы этой ибблиотеки. Но тут и кроется одна тонкость: пусть один из используемых методов имеет название "Exec", в его коде Вы проверяете, чему равна уникальная строка, присвоенная свойству MainSec. И если она равна тому, чему нужно (а Ваше приложение несомненно так и сделает), то выполнение идет своим чередом. А если не равна, то можн о выдать сообщение: мол, извини, товарищ, но ты не имеешь права пользоваться этой библиотекой.
Извините за некоторый каламбур, но надеюсь, что правильно выразил то, чего хотел сказать.
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: Студент)
Отправлен: 11.02.2006, 14:24
Оценка за ответ: 5
Комментарий оценки:
Вы меня не так поняли. Я не хочу запретить использовать dll. Если на машине Windows 98, а в инсталляторе моей проги dll от Windows XP, инсталлятор ложит их в папку с прогой. При запуске проги какие dll будут использоваться? Где прога сначала ищет их, в системной или своей папке? Не бутет ли конфликта после регистрации однотипных, но с другой операционки dll? Если я создам папку DLL и положу туда "свои" dll, как моей проге попроще указать, что там лежат нужные dll, а не в папке вместе с exe?


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.14 (бета) от 09.02.2006
Яндекс Rambler's Top100

В избранное