Архив метки: напоминание

Как создать файл большого размера в Windows ?

Недавно столкнулся с необходимостью протестировать флешку, которые мне иногда приходят от доблестных китайских производителей, на соответствие ее техническим свойствам указанным в рекламах / коробках.

И для этого мне потребовалось создать произвольное количество файлов различного, преимущественного большого, размера — чтобы узнать скорость записи / чтения и реальный размер.

Возник соответственно вопрос откуда их взять — перекопировать различные видео  и муз файлы, остался как вариант, но он не всегда удобный.

После копания различных вариантов оказалось!:

Проблема » как создать файл в Windows » решается штатный инструментом для создания файлов произвольной длинны (в байтах) и называется он fsutil , запускается он из командной строки. Пишем :

fsutil file createnew c:\text.txt 100000000

И получаем 100 гигобайтый текстовый файл на диске С  и при этом файлы создаются почти мгновенно!

Запуск SQL запросов из VBA для Access и Excel

sql-fun
sql-fun
В различных ситуация требуется какое либо действие сделать с БД с помощью SQL запросов, и при написании программы зачастую требуется это сделать из VBA кода. Для этого я использую различные схемы, в зависимости от сложности запроса и поставленной задачи.
, где для всех примеров myBD это объявленная наша БД, например через Dim myBD As Database и последующей Set myBD = CurrentDb , как пример для Access

 

1 — Запуск запросов через QueryDef, ИМХО — использую для ODBC:
Для первого варианта средствами Access делаем обычный запрос  с нужными нами действиями или несколько связанных между собой и запускаем его строчкой ниже. Вообще QueryDef является одним из лучших методов по запуску и выполнению (да запуск сохраненных SQl запросов через него, это далеко не все что он может) запросов в базах данных использующих драйвер ODBC.
myBD.QueryDefs(«ИМЯ_ЗАПРОСА»).Execute
или делаем непосредственный запуск запроса
myBD.QueryDefs.Execute «DELETE * FROM MyTabl»

 

2 — Запуск запросов через RecordSet, ИМХО — использую для ADO:
Этот вариант у меня прижился больше для Excel когда к БД подключаюсь через ADO драйвер, и требуется например сохранить данные в бд, через запрос (Помидорами не кидать, знаю что сам RecordSet позволяет это делать — тут просто пример как можно запустить запрос через него)
Set rs = cmd.Execute(«DELETE * FROM MyTabl», , adExecuteNoRecords)

 

3 — Непосредственный запуск запросов
ИМХО — использовать стоит в основном внутри Access и довольно редко, для мелких задач, а для всего отсльаного лучше через QueryDef:
DoCmd.RunSQL «DELETE * FROM MyTabl»
myBD.Execute «DELETE * FROM MyTabl»