2015年5月26日火曜日

OLE DB プロバイダに適用される考慮事項

CSV ファイルの列に数値と文字列が混在していると、以下の問題がある

[HOWTO] Visual Basic または VBA から ADO を Excel データで使用する

> データ型の混在についての注意 > 「スキャンする行数」で説明したとおり、ADO は Excel のワークシートまたは範囲に含まれる各列のデータ型を推測する必要があります (これは Excel のセル書式設定には影響されません)。
> 同じ列に数値と文字列値が混在していると重大な問題が発生することがあります。
> Jet プロバイダと ODBC プロバイダはどちらも、最も数が多い型についてはそのデータを返し、その他の数が少ないデータ型については NULL (空) 値を返します。
> 2 つの型が列内で同数の場合、文字列ではなく数値が返されます。

数値と文字列が混在する列のデータを["(ダブルクォーテーション)]で囲うことで、回避できる。

テキストエディタで置換したり、ツールを使うことで、列データを["]で囲うようにします。


参考サイト:
ADO CSV接続 勝手に型を決めんなよ・・・
OleDbDataAdapter による CSVデータの読込み
Excel CSV I/O

2015年5月15日金曜日

【SharePoint】SharePoint のビューでリストIDをゼロパディングして表示する。

[JS リンク]を使用する

ビューでページの編集から、表示を変更したいリストの [Web パーツの編集] で [JS リンク] に js ファイルを指定します。


[集計値]列を使用する※

[集計値]列を作成して、[数式]を指定します。
  • 例)
    ="ID-"&TEXT(ID,"0000")

追記
※列の設定時にはうまくいきますが、アイテムを編集したりすると'“0”になってしまう不具合があるようです。

参考サイト:
SharePoint 2013 「JS リンク」を試してみた
集計フィールドの数式
ID列を集計列で計算に利用すると 0 が返る問題は SharePoint 2013 でも修正されない

【SharePoint】SharePoint の Web パーツを開閉する

ページに挿入した [スクリプト エディター] の [スニペットを編集] でコードを挿入するだけで、Web パーツが開閉できるようになります。

※jQuery と他のライブラリがコンフリクト(競合)しないようにしています。



参考サイト:
超簡単jQuery!toggle系メソッドでアコーディオンメニューやタブをさくっと実装する方法

【LINQ】 VB.NET で GroupBy する。

VB.NET ソースの改修で、どはまりしたのでメモ。 複数項目でグループ化する際に匿名型を使うときは「Key」と記述しないとグループ化されない。 参考サイト: .NET(VB)LINQをVBで使用する際に注意すること VB.NETでもLINQでGroupByしたい...