では、どうするかというと、全銀システムに渡すデータでは、拗音を使わず、それ以外では、拗音を許容すれば良い。
2022年8月31日水曜日
2022年8月26日金曜日
accessのフォームにラジオボタンを作り、そのボタンのオン・オフで、その後の処理を変更するコードをvbaで書いてみた。
まず、accessのフォーム(入力フォームという名前とする)のデザイン画面で、ラジオボタン(目玉みたいなボタン)として、バナナという名前のボタンを追加し、規定値(初期値)はtrueまたはFalseにしておく。
次に、そのラジオボタンを判定(黒目があるときはオン[true]<-1>で、黒目がないときはオフ[False]<0>)し、処理を振り分けるコードをvbaで書いてみた。
ググっても、こういう使い方を説明しているサイトが見当たらなかった。当たり前すぎるのかなぁ。
ググっても、こういう使い方を説明しているサイトが見当たらなかった。当たり前すぎるのかなぁ。
If [forms]![入力フォーム]![バナナ] = True then 'バナナボタンがオンの場合の処理を書く。
MsgBox "バナナボタンがonやで"
Debug.print "バナナボタンがonやで"
else
'バナナボタンがオフの場合の処理を書く。
MsgBox "バナナボタンがoffやで"
Debug.print "バナナボタンがoffやで"
End If
0>-1>
2022年8月24日水曜日
excel vbaでセルの値がmm 月dd日と表示されてしまうのを回避した
EXCELの書式自動設定のおかげで、あるセルの値がmm月dd日と表示されて、実に困った。過剰で、お節介な機能で、しかもどういう条件で起こるか、わからない。excelはおせっかいな奴だ。 そこで、仕方がないので、vbaでセルに値を設定した直後に、.NumberForamtLocal = "G/標準”で書式を強制的に入れるようにして、回避したのであった。やれやれ。
2022年8月19日金曜日
accessのテーブルを固定長テキストファイルにエクスポートするのにDocmd.transfertextではなく、print(vba)を使ったというお話。
DoCmd.TransferTextでacExportFixedを指定してのテキスト出力すると、「specification name/定義名が必要です」とか言われて、面倒くさいので、テーブルの内容をprintするvbaを書いてみた。 adoでもdaoでもどちらでも良いので、参照設定で、ライブラリを設定し、テーブルの内容を1個ずつ、printで吐き出せば良い。これだけだ。 specificationNameに悩まされることもなく、テキストファイルが得られる。accessのtblAがフィールドが1つのテーブルであったと仮定し、DAOで書くと
Sub ExportText()
Dim dbs as Database '参照設定でDAOを設定せよ
Dim rs as RecordSet
Dim IngFileNum as Long
Dim strOutPut as String
Dim path1 as String
Dim file1 as String
path1 = CurrentProject.path & "¥OUTPUT¥"
file1 = "tblA.txt"
IngFileNum = FreeFile()
Open path1 & file1 For OutPut As #IngFileNum
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblA")
With rst
do Until .EOF
print #IngFileNum,rst(0) & vbCrLf; 'tblAにはフィールドが1つ
.MoveNext
Loop
.Close
End With
Close #IngFileNum
End Sub
2022年8月18日木曜日
accessのテーブルを固定長のテキストファイルにエクスポートしようとして、七転八倒し、学んだこと。
expression.TransferText (TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)
expression A variable that represents a DoCmd object.
DoCmd.TransferText acExportFixed, "specNameA", _
"tableA", "C:\Txtfiles\April.txt"
DoCmd.TransferTextでacExportFixedを指定してのテキスト出力すると、「specification name/定義名が必要です」と怒られる。
そこで、エクスポートウィザードの操作を保存したものを指定しても「定義名が見つからない」と再び、怒られる。
そもそもこの「specification name/定義名」は、エクスポートウィザードの操作を保存した名前ではないのである。
エクスポートウィザードの操作を実施したあとに出てくる、保存しますかのチェックボックスをチェック印をつけておかないと駄目なのである。
そうすると、定義というボタンが出現するのだ。ここで、specification name/定義名を定義できるのである。そして、この定義名をspecification nameに指定するのである。
ポイントは、specification name/定義名は、エクスポートウィザードの操作を保存した名前ではないということだ。
しかも、エクスポートウィザードの延長で、保存した名前と「specification name/定義名」が似ているので、余計に惑わされるのである。
2022年8月16日火曜日
accessのクエリでテキストを抽出条件とする場合、例えば1 でないものを抽出する条件は<>"1"だが、nullも忘れるな
accessのクエリでテキストを抽出条件とする場合、例えば1でないものを抽出する条件は<>"1"だが、or nullも忘れるな
登録:
コメント (Atom)