kazuma299のプロフィール
- ベストアンサー数
- 4
- ベストアンサー率
- 100%
- お礼率
- 0%
コンピュータ関係の仕事をしています。 平日はお返事が遅くなります。
- 登録日2010/09/15
- Webサイト http://nnrtl.blogspot.com/
- EXCEL VBAでADOを使ってEXCELファイルよりデータを取得し
EXCEL VBAでADOを使ってEXCELファイルよりデータを取得しています。 その際のSQL実行結果が上手くいきません。 'Excel のバージョン 2003 SP3 'データ項目名 'ID,名前,,,,,,,,,,,長文1,長文2,,,,削除フラグ,削除日時,更新日時 ←こんな感じで20項目 上記の「削除フラグ」の値を抽出条件にしています。 文字列の項目で、''、' '、'1'などの値があります。 '1'が入っているデータは削除された古いデータなので、抽出対象外にしたいです。 mySql = "select * FROM Sample1 WHERE (名前 LIKE '%山%') AND (削除フラグ <> '1')" Set adoRS = adoCON.Execute(mySql) Debug.Print mySql 上記を実行すると、対象データはあるのに取得できません。 実行時エラーになることはなく、処理は正常に終了します。 mySql = "select * FROM Sample1 WHERE (名前 LIKE '%山%') AND (削除フラグ = '1')" だと、「削除フラグ」に'1'が入っているデータが取得できます。 mySql = "select * FROM Sample1 WHERE (名前 LIKE '%山%') AND (削除フラグ != '1')" これを試しましたが、構文エラー:演算子がありません となります。 SQL文が悪いのか、「削除フラグ」のデータが悪いのかわかりません。 解決していただけなしでしょうか?
- ベストアンサー
- その他MS Office製品
- sinmai_mam
- 回答数1
- ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一
ファイル名の一部に年月日が入っているファイルを、指定日以前のもののみ一括削除する方法を教えてください。 上記の目的を果たすためにバッチファイルを作成しようと思っているのですが、当方プログラミング全般に関して全くの素人でして、Web検索で見つけたものを切り貼りして無理やり作ったところ、思うような結果になりませんでした。 (BCPフォルダ直下に当該ファイルを置いた場合削除できたが、サブフォルダのファイルは削除できない) どうもあと一歩で完成しそうな気がするので、できればこのバッチファイルを元に修正していただけると嬉しいのですが、VBScript等で作成した方が簡単なのであればバッチファイル以外の方法でも構いません。 宜しくお願い致します。 <予め決められているルール(変更は不可)> (1)2010年9月2日21時21分55秒14に作成されたファイルは、「201009」フォルダ配下に「ABC_DEF_GHI_2010090221215514.txt」と「ABC_DEF_GHI_2010090221215514.log」という名前がつけられる。 (2)1日1回バッチファイルを起動し、指定日以前に作成したファイルを全て削除する。 <作成したバッチファイル(DEL.bat)> @echo off cd ..\BCP REM --------------- REM 日付のn日前を求める REM 引数1・・・n(数値) REM 引数1がないときは1(前日) REM 引数2・・・YYYY/MM/DD 形式 REM 引数2がないときは本日とする。 REM --------------- if "%1"=="" ( set n=5 ) else ( set n=%1 ) if "%2"=="" ( for /F "tokens=1" %%a in ('date /t') do set orgdate=%%a ) else ( set orgdate=%2 ) :年月日の分割 set yy=%orgdate:~0,4% set mm=%orgdate:~5,2% set dd=%orgdate:~8,2% set count=0 :Repeat :月日の数値化(8進数対策) set /a mm=1%mm%-100 set /a dd=1%dd%-100 set /a dd=%dd%-1 if %dd% NEQ 0 goto end :月跨り処理 set /a mm=%mm%-1 if %mm% EQU 0 set mm=12&&set /a yy=%yy%-1 set /a dd=%dd%+31 if "%mm%"=="2" set /a dd=%dd%-3 if "%mm%"=="4" set /a dd=%dd%-1 if "%mm%"=="6" set /a dd=%dd%-1 if "%mm%"=="9" set /a dd=%dd%-1 if "%mm%"=="11" set /a dd=%dd%-1 :閏年処理 :4で割り切れるか? set /a u=%yy% %% 4 if not %u%==0 goto end :100で割り切れて、400で割り切れないか? set /a u=%yy% %% 400 set /a v=%yy% %% 100 if %v%==0 if not %u%==0 goto end :2月か? if %mm% EQU 2 set /a dd=%dd%+1 :END set mm=0%mm% set mm=%mm:~-2% set dd=0%dd% set dd=%dd:~-2% set /a count=%count%+1 set DT=ABC_DEF_GHI_%yy%%mm%%dd% IF %count% NEQ %n% goto Repeat for %%F in (*.txt *.log) do if %%F LSS %DT% del /s %%F :EXIT <フォルダ構造> 添付画像をご参照下さい。
- ベストアンサー
- その他(プログラミング・開発)
- jackstar7
- 回答数1
- VBS【プリンタドライバのインストール・設定】
VBS【プリンタドライバのインストール・設定】 プリンタの変更に伴い、数十台のパソコンにドライバをインストールし、 設定しなおさなければならなくなりました。 パソコンはuser権限のため、 管理者でログインしなおしてもよいのですが、 時間短縮のため、user権限のまま、 ワンクリックでインストール、設定できるようなスクリプトが作れたらいいかな?と思っています。 で、以下のように書き、管理者のパスワードを入力しても、 エラーは出ませんが、インストールができません。 初心者なので、基本的なところが、間違っているのかもしれませんが…。 どこが悪いのか、 またどこを直したらよいか、 これよりもいい方法がある、とか教えて頂けたらと思います。 プリンタが変更なだけで、IPはそのままですので、 ポートは既にあります。(例P0.0.0.0) あともう一つ、やりたいことが、インストール出来た後に、 「プロパティ」「セキュリティ」タブの「Everyone」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。 よろしくお願いいたします。 ※※※※※※※※※※※※※※※※※※※※※※※※ Option Explicit Dim WshShell Dim install install = "rundll32 printui.dll,PrintUIEntry /if /b ""プリンタ名"" /f ""infファイルがある場所"" /r ""P0.0.0.0"" /m ""モデル名""" install = "runas /user:ドメイン名\管理者名 ""install""" Set WshShell = Wscript.CreateObject("Wscript.Shell") WshShell.Run install ※※※※※※※※※※※※※※※※※※※※※※※※ のような感じです。 お願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- ajisaika
- 回答数2
- VBS【プリンタドライバのインストール・設定】
VBS【プリンタドライバのインストール・設定】 プリンタの変更に伴い、数十台のパソコンにドライバをインストールし、 設定しなおさなければならなくなりました。 パソコンはuser権限のため、 管理者でログインしなおしてもよいのですが、 時間短縮のため、user権限のまま、 ワンクリックでインストール、設定できるようなスクリプトが作れたらいいかな?と思っています。 で、以下のように書き、管理者のパスワードを入力しても、 エラーは出ませんが、インストールができません。 初心者なので、基本的なところが、間違っているのかもしれませんが…。 どこが悪いのか、 またどこを直したらよいか、 これよりもいい方法がある、とか教えて頂けたらと思います。 プリンタが変更なだけで、IPはそのままですので、 ポートは既にあります。(例P0.0.0.0) あともう一つ、やりたいことが、インストール出来た後に、 「プロパティ」「セキュリティ」タブの「Everyone」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。 よろしくお願いいたします。 ※※※※※※※※※※※※※※※※※※※※※※※※ Option Explicit Dim WshShell Dim install install = "rundll32 printui.dll,PrintUIEntry /if /b ""プリンタ名"" /f ""infファイルがある場所"" /r ""P0.0.0.0"" /m ""モデル名""" install = "runas /user:ドメイン名\管理者名 ""install""" Set WshShell = Wscript.CreateObject("Wscript.Shell") WshShell.Run install ※※※※※※※※※※※※※※※※※※※※※※※※ のような感じです。 お願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- ajisaika
- 回答数2
- Access2007で社員マスターを作成しています。
Access2007で社員マスターを作成しています。 入社年月日を基準として、基準日の時点での年齢を生年月日から自動計算させています。 =Int(DateDiff("d",[生年月日],[入社年月日])/365.25) ただし、法律上は、誕生日の前日に歳をとることになっていますので、そのように設定をしたいのです。 たとえば、入社年月日が2010/9/15で生年月日が1980/9/15の人は30歳で、入社年月日が同じく2010/9/15で生年月日が1980/9/16の人も30歳。入社年月日が2010/9/15で生年月日が1980/9/17の人は29歳というようにしたいのです。 宜しくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- is2069
- 回答数3