Blog
急いてはことをレモン汁
About
適当なことが書かれています
あとpokemontdと
pokemontd2のプレイ日記らしきものが
pokemontd以外のゲーム記はこっち
ゲーム記
Profile
フリーのFlash制作ソフトParaFla!を使っていろいろ遊んでます
自由に生きていけたらなと
趣味はNHK鑑賞です
【欲しいもの】
お金、NHK教育の過去番組を好きなだけ自由に見れる権利
新元号対応のwindowsupdateが最後の令和レジストリとフォントの追加以外は完了したみたいなので
社内もようやく新元号対応に向けて動き出した。
令和がレジストリにまだ追加されてないってTwitterで騒いでる人いたけど、
経済産業省のHPに「改元に伴う元号による年表示の取扱いについて」って通知文書があって
その中で各府省に対して
施行日前までは平成を用いるものとする
ってあるから、5/1にならないと令和は追加されないんじゃないかと予想
https://www.meti.go.jp/policy/it_policy/kaigen/20190402_kaigen_2.pdf
どうしても必要ならレジストリに追加すればいいだけだしね
一応追加場所を書いておく
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras
ここに平成とか昭和のやつが入ってるからそれにならって
値の名前:2019 05 01
データ:令和_令_Reiwa_R
って登録すれば出る
新元号発表まではここに思い思いの元号を入れて遊んだものですよ
野球とか草生とか
ちなみにこのレジストリは去年の6月にお客様から問い合わせがあって
期間で未来の日付が入っているところが??年って出るんですがどうすればいいですか
という問い合わせを受けてあれやこれやと調べた結果
??_?_??????_?みたいなのが入っててそれで覚えた
少なくともWordはこの時点でレジストリを見るようになっていたようだ
そんなこんなで、いざお客様対応をしようとしたその時
問題が起こった
つづく
2019/04/23 00:42
未分類
ACCESSの新元号対応で、クローズ環境へのwindows updateをどうするかで大変そう
クローズじゃない自環境でいろいろ新元号パッチの検証してるけど、これmicrosoftさん大丈夫?的なのが沸いて出てくる
2月のupdateでformat関数が元年表記をするようになって、3月?のupdateでレジストリを見るようになった
ただ、accessのフォームでの書式設定はレジストリを見るようにはなってなかった
が、今日見てみたらなんかレジストリ参照するようになってた
テストで入れてたレジストリの値「草生」が表示されてる!ってなったけど、さすがにこれ社内で見せるのはまずい…
ということで、慌てて令和に変えた
ところでこのPC「れいわ」で変換しても、人名地名のところにしか出てこないや
で、システムがちゃんと動くか見てたんだけど
これ、format("令和01年06月01日","yyyy/mm")がエラーになる
西暦→新元号は動くけど
新元号→西暦は動かない
10日の定例更新でどうにかなるんだろうか
あと書式の指定がggge年みたいにe年がついてると勝手に元年変換してくれるやつ
microsoftさんは↓のレジストリキーの設定で変えれるって言ってたのに、1年設定しても元年が出てくる。。。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese
"InitialEraYear"="1年"
お客さんには元年表示は有償とかなんとか言ってるっぽいけど、どうなるんだろうかこれ
2019/04/04 23:07
ACCESS
いつだったか、自分の「嫌い」という意志表示を何かのやり玉に挙げられたことがあった気がする
確かにその人は、不快な思いをしたのかもしれない
けど、その人の発言で日頃から不快になっている私は何なんだとなる
意見が違うからやり玉に挙がったんだろうけど、日頃から私と正反対の意見には賛同して
私と同じ意見にはボロクソに言っている
それをいつも見ていた、聞かされていた私は何なの
-----
某アニメシリーズの曲は見てもないのに
「全部同じ曲じゃん」
とか
某アーティストに対してはろくに曲も聞いたこと無いのに
「○○のパクリじゃん」
とか(ほんとに曲知らないのにこの発言だったのには驚いた)
きっとこんな感じの発言の度に心が死んでいったんだろうな
-----
公式には無くなってしまったけど、非公式に続いているものがあって
なのにその非公式は初めから存在しないみたいな、そんなつぶやきを見てしまった
なんで携わっても無い傍観者以下の人間が勝手に終わらせてるの?
何もしない、ただ享受しているだけの人間にオワコンオワコン連呼されて
それがただただ不快だった
2019/04/01 22:34
ぼやき
車運転したら腹立つことがまあまあ多いのでこのムカムカした感情に任せて書く
自分は運転してると気が付いたらスピードが落ちてるタイプの人間
高速道路は法定速度と前の車から4秒の距離は厳守したい人間
人の車に乗ってるときはずっと速度メーターかバックミラー見てるぐらい速度が気になる
そんな感じの運転をするから高速乗るときは9割左車線にいる
とだいたい同乗者が「ずっと左車線にいるのは違反」とか言ってくる
いやそれ、どう考えても右車線の間違いですやん
右車線に居続けるには常にスピードを左車線よりも出してるってことだからそれだけで速度違反だと思うんだけど、何度この理論を言っても譲らない
ググっても左車線に居続けるのは違反なんてどこにも出てこない
いくらご自身が大してスピードの出ない軽のくせに、たいして遅くも無い車を無理やりスピード出して追い越してはまたすぐに抜かれて…の繰り返しな乱暴な運転だからって、
人の運転に違反とかケチをつけないでほしい
法定速度+15km/hまでしか許容せんぞ俺は
2019/03/26 00:08
ぼやき
2017/11/25に購入したFMトランスミッターが壊れた
ちなみにこれ
https://www.amazon.co.jp/gp/product/B01HJB2YOM/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
MP3プレイヤーに刺して使ってたんだけど、先週の頭ぐらいに、充電がちゃんとできなくなって
その後なんか充電ケーブルを良い感じの方向で刺さないとちゃんと音が飛ばなくなった
買った当初から右側のボタンが効かない(のちに、背面をおさえて挟み込むように押せば効くことが判明)みたいな多少の不具合は合ったし
MP3プレイヤーの音量MAXにしないと音が小さすぎるとか、些細な使いづらい点はあった
ので、新しいやつを買うぞと
1年しか持たないのはちょっとなぁ。。。安かったけど。
2019/03/24 15:23
その他
■ついに終焉
accessclubがお亡くなりになっているのを月曜に確認
前の週の金曜日までは確かにあったんだなあ、いろいろ過去リンクからいじり倒してたから
トップページはあんなになっちゃってたけど、スレッドとかコンテンツはそのままだったから、完全に消えるなんてないだろうって心のどこかで思ってた
ちなみに月曜にトップページがアダルト系の何かになっていて、会社PCで開いてしまい焦る
■ただの現況
先週月曜、仕事中に急に味玉が食べたくなって
帰りに卵を買った
卵を買ったのが一人暮らし初という事実
絶対使いきれない。。。とか思って買ってこなかったけど、味玉の誘惑に勝てなかった
で、とりあえず7分茹でて、ちょっと薄めたさしみ醤油に漬けた
はよ食べたい。。。ってことで1時間ぐらいで食べた
味しみてないけど半熟でおいしかった
で、家にあった醤油が切れたので、昨日実家に集りに行った
「虎むらさき」なるお醤油を貰った
成分見たら、よくある味玉の材料に必要そうなものが一通り入ってる気がした(鰹とか昆布系の出汁とか)
今の醤油が切れたらこれでチャレンジするで
上手く作れるようになるまで毎日味玉を食べてやる
2019/03/03 00:57
日々
ガラケーの民なんですが、遊びで親が昔使っていたiphoneとandroidを持っている
スマホのことはよくわからんので会社の同期に聞いたら、iphone4らしい
んで、半年ほど前
具体的には8/13に最後にカメラ(ドラレコ代わりのビデオ)を使ったあと
カメラが壊れた
なんというか画面が真っ暗だったり、一瞬何かが映るけどそのまま画面が静止したり、変な色合いの画面のまま静止したり
こんなかんじで一瞬映ったキーボードが映り続けてる
で、シャッターボタンが反応しない
インカメラは普通に動くんだけど、外側のカメラだけそんな感じ
iphoneを再起動したり電源を切って1か月ぐらい放置してみたり、復元をやってみたりしたけどどれもダメだった
のでおそらく原因はソフト側ではない
個人的にはあの日暑かったし車の中で毎日ドラレコ代わりにしてたから熱で内部の何かが歪んだのかなとか思っている
シャッターボタンが反応しないのは謎だけど
で今日、久しぶりに充電したのでいろいろいじってて
歪んでるのが原因なら適当に圧をかければ直るかなーなんてひらめいて
カバーのストラップをつけるところあたりをちょっと強めに押したりしてたら、なんか急にカメラが復活した
ちゃんと写真撮れる。。。奇跡や。。。
壊れてからちょうど半年で偶然直るってどんな奇跡や。。。。
とか思ってたら1時間後また元に戻ってしまった
同じようにあれこれしてたらまた復活したけど
2019/02/13 22:05
日々
■ことのはじめ
とあるシステムでACCESSでとあるボタンを押したら、あらかじめテーブルに登録してあるSQLが実行されて、その内容でCSVを出力して
さらにそれをWORDに差し込んでさらにPDF化みたいなことをしている
そこで月ごとの金額明細みたいな表を作った時に、日付が
2016/11/10
2016/12/9
2017/1/8
2017/2/10
みたいな感じで縦に並べた時、幅がバラバラになる
なので書式をyyyy/mm/ddにして0詰めしたいところだが、お客様的にはそれが見栄えが良くなくてNGらしい(気持ちは分かる)
word側で等幅とかにしてみたけど余計に気持ちがわるい
どうにかyyyy/m/dとyyyy/mm/ddの幅を同じにしたい
で、どうしたものかと検索かけたら同じことをやりたい人がヒット(゚∀゚ )
http://www.accessclub.jp/bbs/0085/beginers31302.html
…
…うげえ、めんどくせえ
いや、この方法は思いついたけどさあ。。。
やりたくないからなんかスマートなformat方法はないかと調べたわけなんすよ。。。
ということで諦めて作ることにした
イメージは
2017/1/8→2017/ 1/ 8
2017/2/10→2017/ 2/10
みたいな感じ
あと、西暦だけじゃなくて和暦でも同じような感じにしたい
そして年月日だけじゃなく年月とかでもちゃんと表示できるようにしたい
要はいろんな日付書式で年や月や日が1ケタの場合空白で出来るようにしたい
そしていちいち&とかで繋げるんではなく、設定が楽にできるようにしたい
というわけで追記に続く
2019/01/24 23:47
ACCESS
Qiitaにでも書けよというような内容だったりする
ほとんどが初ACCESS開発から半年以内に貯めこまれたもの
■面倒なSELECTとかRecordsetのオブジェクトを指定せずに、テーブルから値を取る方法
□プロパティから設定するとき
DLookup("[項目名]", "テーブル名", "[項目名]='" & seq & "'")
□VBAでやるとき
DLookup("ID", "テーブル名")
DLookup("コード名称", "T_MCODE", "コード区分=91 AND コード= 1")
他にもDSumとかある
■ナビゲーションウィンドウを非表示にする
DoCmd.SelectObject acForm, "", True
DoCmd.RunCommand acCmdWindowHide
■ショートカットキーを無効にする
ChangeProperty "AllowSpecialKeys", 1, False
■レポートをpdf出力
DoCmd.OutputTo acOutputReport, "R_レポート名", acFormatPDF, 指定フォルダ & "\" & ファイル名
■CSV出力
一番後ろの引数に65001をつけるとunicodeで出力できる
DoCmd.TransferText acExportDelim, , “テーブル名”, CurrentProject.Path & “\ファイル名.csv”, True, “”, 65001
■他のMDBファイルのテーブルをリンクする
"ナントカ.accdb"にあるテーブル"コードマスタ"を"旧コードマスタ"という名前でリンクします
DoCmd.TransferDatabase acLink, "Microsoft Access", "c:\My Documents\ナントカ.accdb", , "コードマスタ", "旧コードマスタ"
■テーブル削除(リンクテーブルも可)
Public Function テーブル削除(オブジェクト名 As String)
On Error Resume Next
DoCmd.DeleteObject acTable, オブジェクト名
End Function
■キー入力させない
Private Sub cmb_コントロール_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = 0
End Sub
■右からn文字
?iif(len(文字列) < n,"",left(right(文字列,n),1))
■フォルダ存在チェック
If Dir(TXT_ファイル, vbDirectory) = "" Then
MsgBox "フォルダが存在しません。", , "条件入力エラー"
TXT_ファイル.SetFocus
Exit Function
End If
■先月末
DateAdd("d", -1,format(日付,'yyyy/mm/01'))
■今月末
DateAdd("d", -1, DateAdd("m", 1, Format(日付, "yyyy/mm/01")))
■半角のみかどうかチェック
If Nz(項目,"")<>"" Then
If LenB(StrConv([項目], 128)) <> Len(項目) Then
MsgBox "半角じゃないよ"
End If
End If
■入力を数字のみに制限
Private Sub txt_項目_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) _
And KeyAscii <> 8 Then
KeyAscii = 0
End If
End Sub
■メインフォームのレコードソースを動的に変える
フォームを開いた直後に書き換える処理を入れる
DoCmd.OpenForm フォーム名
Forms(フォーム名).RecordSource = "テーブル名"
■タブコントロールを移動したときにイベント起こす方法
Private Sub タブ1_Change()
Select Case Me.タブ1.Value
Case 0
'1ページ目が選択されたときの処理
Case 1
'2ページ目が選択されたときの処理
Case 2
'3ページ目が選択されたときの処理
'例えばレコードソースを書き換える
Me.Fs_サブフォーム名.Form.RecordSource = "テーブル名"
End Select
End Sub
■とってきたデータの数だけDO LOOPする
Set W_RS = CurrentDb.OpenRecordset(wsql, dbOpenSnapshot)
Do Until W_RS.EOF
total= total+ W_RS!金額
W_RS.MoveNext
Loop
■コンボボックスの幅を自動調整してみた
Dim i As Integer
i = 0
wsql = cmb_コンボボックス.RowSource
Set W_RS = CurrentDb.OpenRecordset(wsql, dbOpenSnapshot)
Do Until W_RS.EOF
i = IIf(i < Len(W_RS!コード名称), Len(W_RS!コード名称), i)
W_RS.MoveNext
Loop
cmb_コンボボックス.WIDTH = 250 * i
VBAじゃないけど
■sqlをさがす
SELECT MSysQueries.Expression,MSysObjects.name
FROM MSysObjects left join MSysQueries
on
MSysQueries.ObjectId=MSysObjects.id;
2019/01/12 00:33
ACCESS
前めもの続き
■IIFのやばいやつ
Public Function a(value As Variant)
a = IIf(IsNumeric(value), CCur(value) & "a", value)
End Function
これを実行すればわかるけど、もしvalueが文字なら型が一致しないエラーとなる
IIFは式の結果にかかわらずとりあえずTRUE部もFALSE部も通る仕様らしい
たぶんSwitchも同じ
参考http://kuroeveryday.blogspot.jp/2015/02/vba-iif.html
■vbaでsql流してテーブル作成
短いテキストってchar(文字数)で指定するじゃないですか、するとデザインビュー上じゃ短いテキストになってるのに
勝手に空白埋めしてくれるんですよ、マジクソ
■式に未定義関数xxxがあります
SQLで関数を使おうとしてた時に、関数名が日本語だと発生(´・ω・`)
ただ、関数名日本語=必ず発生するわけではなさげ
関数と変数名に日本語を多用していることがばれてしまう(´・ω・`)
変なローマ字だと区別つきづらくなるし意味がパッと見分からなくなったりするじゃん(・3・)
□自作じゃない関数でも発生
とりあえずDBの最適化をして(たぶん直らないけど)、そのあとにACCESS自体の修復をすれば直るかもしれない
■このレコードセットは更新できません
主キーの設定されていないテーブルを結合してレコードソースにしたら更新できなくてなんかマズい
ダイナセット(矛盾を許す)にすると更新はできるけどやらない方がいいらしい
■主キー
主キーにnullはだめ
なのでワークテーブルには主キーを入れない方がいい
■ このマシンのほかのセッションによってロックされているので、更新できませんでした。
項目をDBに連結させてて、モジュールでUPDATEとかしてて、
メモ型にめっちゃ文字入れたら出る
■「型変換エラーのため、0個のフィールドをNullに設定しました。」みたいなやつ
そもそもテーブルにデータを登録できるか確認したほうがいい
・値要求項目が「はい」になっている
・ワークテーブルに主キーが設定されている
・列数がワークテーブル<テーブルになっている
■「引数が無効です」
長いテキスト型を短いテキストにすれば解消されるかもしれない
そもそも長いテキスト型を使っていない場合、テーブルが内部的に壊れている可能性が高い
https://support.microsoft.com/ja-jp/help/2480088
■これ以上データベースを開くことができません
最適化したらなおった
■フィルタを掛けたときに、フォーム名.項目名.FileURLのパラメータを聞かれる
SF_フォーム名.ナントカコード.FileURLみたいな感じ
テーブルでフィルタを使った場合も発生
原因は不明らしい?
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_access-mso_winother/access/0a562f6c-a7f2-4ab4-9fbd-9534993151fe
http://tenten100.blog123.fc2.com/blog-entry-679.html
1ケタの数値項目で発生?でも前日付型でも似たようなことが起きたような気がする
■配置バグ
http://hatenachips.blog34.fc2.com/blog-entry-408.html
■インポート
ファイル名に.があると失敗する
https://hamachan.info/win7/Access/inport_error.html
■shellからpdf起動時エラー
-2147024894-'Run' メソッドは失敗しました: 'IWshShell3' オブジェクト
ファイル名とかパスに空白があると出る
https://oshiete.goo.ne.jp/qa/9338065.html
このへんからDBとかSQLとか
■AccessにはLIMITが無い!
■SELECTしてINSERT
なんかNOT EXISTSつかってSELECT INSERTしようとしたら、
「insert into ステートメントに、認識できないフィールド があります。」とか何とか言われてINSERTできなかった。
テーブルを作り直しても改善しなかったので、INSERT INTO テーブル名の後ろにINSERTする項目名入れたらなぜかうまくいった。
意味わからん
同じ構成のテーブルだから、select *でいいじゃんね
■ODBCからテーブルをインポートすると
主キーの設定が消える
■order byでのnull
oracleにリンクしている場合とaccessにリンクしている場合の挙動が違う
oracleだと descでnullが先頭に
accessだとnullは最後
バージョンにもよるんかな
■JOIN
ACCESSでは基本的に3つ以上の表は結合できない
が、括弧でくくるとJOINできる
□こんな感じ
SELECT T1.*,T2.*,T3.* FROM ( T1
LEFT JOIN T1 ON ( T1.b = T2.id ) )
LEFT JOIN T3 ON ( T1.c = T3.id ) ;
■UNIONでnull文字の使い方が正しくありません
なんかUNIONする列でエラーを吐いているやつがあると出る
■最初の1件を取得
SELECT TOP 1 * FROM テーブル名
□注意
SELECT TOP 1 * FROM テーブル名 ORDER BY 項目
とかにすると、項目が一意でないときに複数件とれる
■UNIONしてINSERT
http://www.accessclub.jp/bbs3/0116/superbeg41047.html
注意:はまりました。
上記のインサート文、mdbのクエリ上等ではすんなり通るのですが、
asp上にSQL書いて実行してもエラーが帰ってきます。
『クエリの値と出力するフィールドの数が一致しません』と。
試行錯誤の結果、insert文2行目の『*』ではダメだ ということがわかりました。
明示的にcol名を指定してあげないと、うまく動きません。
http://www.servercan.net/bbp/topic.php?id=6
■ACCESSじゃ仕様が違った
http://d.hatena.ne.jp/CAMUS/20070609/1181354100
2019/01/09 22:12
ACCESS