integer と long 続

たとえば
VBAのinteger -32,768 ~ 32,767
216=65536 だが
負数もあるので半分になっているらしい
.NET Framework の16 ビット符号付き整数と同じ?
符号付きは負数あり

VBAのLong -2,147,483,648 ~ 2,147,483,647
.NET Framework の32 ビット符号付き整数ということになるかな?
では
Long(VBA)=integer(VB.NET)=System.Int32=int(SqlServer)

SQL Serverにおいてtinyintだけは
符号なしなので
.NET Framework 風に言えば8ビット符号なし整数
0 ~ 255 

integer と long

VBAでは
integer -32768 から 32767
long  -2147483648 から 2147483647
vb.netでは
integer -2147483648 から 2147483647
long -923372036854775808 から 9223372036854775807

vbaで
dim i as long
for i=0 to ..
と書いていたがvb.netで同様に書くとなぜだかインテリセンスによく怒られる
vbaのlongはvb.netではinteger
今更だけど

datagridview iifエラー

VB.NETでdatagridviewをGUIで作成するとき
クエリに
select iif(bit型カラム=0,’男’,’女’) as 性別,…from sqlserverTable
と書くとエラー
select 性別=case when bit型カラム=0 then ‘男’ else ‘女’ end,…
と書くと大丈夫

VBAのレコードセットも癖が強いがVB.NETも一筋縄では行かない気がする

新元号 Access

5/1夜だがまだwin10_1809は新元号和暦表示できない
LANの半分は表示できるのでなんとか業務は可能だがこのままGW明けまでMicrosoft未対応を想定して可及的にパッチみたいな物を・・
うちの業務システムでは和暦表示は gee/mm/dd 形式だけだから

Public Function FormatZ(paramA As Variant, paramB As Variant)

If IsDate(CStr(paramA)) = True Then
 If paramB Like “gee/mm/dd*” And CDate(paramA) >= CDate(“2019-5-1”) Then
  FormatZ = Replace(Format(paramA, paramB), “H3”, “R0”)
 Else
  FormatZ = Format(paramA, paramB)
 End If
Else
 FormatZ = Format(paramA, paramB)
End If

これで良いかな?

とりあえずしばらくしのげれば良いので関数作って
moduleで必要な物はFormatZに変えておく
クエリも令和が出そうなものは捜して置換
フォームのソースがクエリのものがあるはずだが面倒なので現場で対応しよう

新元号 windows WSUS

先月から気になっていたのですがWSUSサーバで新元号対応更新プログラムのKB4493473がインストール済みまたは該当なしになっていたのですがインストールはされてません
今日確認するとやはり新元号表示不能です
マニュアルで対応必要でした 以下参照
https://sccm.jp/2019/04/27/post-1484/

windows10 1809 は今日5/1調べたけどまだ未対応のようです
windows10でupdate最新状態にしておけば大丈夫とあちこちで見るけど
最新状態だと1809になってるはずなのでほとんどのPCが表示できない
ということになってないのかなあ