Categories
SugiBlog ホームページ制作・システム開発

CSVエクスポートでのテキストデータのNull値について ACCESS

AccessでCSVをエクスポートする際、テキスト型のフィールドがNullだった場合、
「,””,」とならず「,,」となってしまいます。
※前後にフィールドがあるとしています。

他のソフトやプログラムで該当ファイルを使用するときに、ダブルクォーテーション「”」が
必要な場合があります。

そういう時はNz関数を使います。
Nz関数はNullを別の文字列に置き換えしてれくる関数です。

データがNullだった場合、「,””,」という結果にするためには、Nullを長さゼロの文字列に置き換えます。

Nz([フィールド名],"")

もちろん、指定したフィールドのデータがNullでない場合はそのデータを返します。

917 views

複数のテーブルを一括で削除

Microsoft Accessにて、名前を指定して1つのテーブルを削除するだけであれば
DeleteObjectで削除することができます。

しかし、例えば任意の文字列が名前に含まれるテーブルを削除することができません。
その場合は以下のような方法で削除します。

例としてインポートでエラーが発生した際に作成されたエラーのテーブルを全て削除してみます。

Dim tbls As Object 'DAO.TableDefs
Dim tbl  As Object 'DAO.TableDef

'テーブル一覧取得
Set tbls = CurrentDb.TableDefs

Dim DelTables As Collection

Set DelTables = New Collection

For Each tbl In tbls

    If tbl.NAME Like "*インポート*エラー" Then
        DelTables.Add tbl.NAME
    End If

Next

For i = 1 To DelTables.Count
    'テーブル削除
    tbls.Delete (DelTables(i))
Next
461 views

Accessからはできないフリガナの割り付け

WindowsXPでは[Excelオブジェクトを使用してフリガナ入力]で紹介しているように、Accessだけで可能だったフリガナ変換が、Windows7では出来なくなっていました。
色々と方法を模索してはみたものの、解決策が見つかっていませんでした。

そして今日、なんとなく改めて挑戦してみると…なんと!(それほど大したことではありませんが;)方法が見つかりました!
といっても結局、Accessだけではできない、というのが結論です。
つまりExcelを使って実装することになります。

PHONETIC

まず、Excelの「PHONETIC」という関数。
これはセルに入力した文字のフリガナを取得することができます。

例としてこのようなExcelを用意してみます。
001
続きを読む…»

367 views

Public宣言された変数の有効期間 [VBA]

VBAで標準モジュールにPublic変数を宣言、またはPrivate変数を宣言してPublicプロシージャで値を書き換える処理を構築した場合、予期せず、変数に格納したはずの値がクリアされることがあります。

実際にACCESSで、汎用的に使えるようにと私もそのような方法で書いたのですが、上記のような事象が発生したので今回調べてみました。
続きを読む…»

1,266 views

便利なApplicationメソッド ACCESS

DLookupやDCount等はよく使うのですが、他にも便利なメソッドがあったのでご紹介します。

DAvg

指定した数値フィールドの平均値を取得します
返り値は倍精度浮動小数点型(Double)です

DCount

レコード件数を取得します

DFirst

先頭レコードの指定フィールドの値を取得します

DLast

最終レコードの指定フィールドの値を取得します

DLookup

指定したフィールドの値を取得します

DMax

指定フィールドの最大値を取得します

DMin

指定フィールドの最小値を取得します

DSum

指定フィールドの合計値を取得します


書式

DLast(Expr, Domain, Criteria)
続きを読む…»

541 views