[過去ログ] Access総合相談所 29 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
584: 2020/09/08(火)12:07 AAS
Excel や FileMaker なら得意だが というAccess 貶めの意図は通じた
己の状況を見知らぬ他人に伝える能力は劣ってるのも伝わった

小数点でも・・と書いてるから、左右の位置ズレなんだろうなとは思うが
フォントの種類・サイズ、フィールドの書式設定、上下左右位置決め、内部余白
ここらを見直しても直らないならスクショ撮って載せなきゃわかり辛い

ずらりと等間隔に置きたい  なんだろ? 左右均等揃えとかの意味かな?
585: 2020/09/08(火)12:20 AAS
>>582
そんなことってあります?
プロポーシャルでもそういう経験ないかも。
一応、msゴシックpならmsゴシックにしてみるとか。
586
(3): 2020/09/08(火)19:54 AAS
>>583
NULL は特殊な値だから = や LIKE は通じない。
また、条件をバラして実行してみて、LIKE で空文字列が引っかかったと思っていたら実は半角空白が入れてあった、ということ。
587: 586 2020/09/08(火)19:55 AAS
http://wkubota.はてなブログ.com/entry/2014/02/18/004047
こんな感じだった。
588
(1): 2020/09/09(水)07:52 AAS
>>586
なんとなく解り申した。WHERE条件式の書き方がわかってよかったですね。
589: 586 2020/09/09(水)21:13 AAS
>>588
良くはないです。
一応そこそこのSQLは書けるし書いてきた。

「テーブル設計がクソ過ぎ。だけど変更できないから生データに触るのも一苦労」
という地獄ですこれは。予想の斜め90度行っちゃってた。

ちなみに日付型や数値型やブーリアン型にすべきところも文字列型。狂ってる。
590
(2): 2020/09/09(水)22:23 AAS
【Windows10 Access 2016】

Dim C配列 As Variant
C配列(1, 1) = "AAA"



C配列(10, 3) = "ZZZ"

Range("A1:C10") = C配列

Excelでは上記例のように、
配列に格納したデータを一発でセルに代入できますが
省2
591: 2020/09/10(木)02:23 AAS
>>590
現状ではたぶん無いと思います
・エクセルのセル(基本的に何でも格納可能)
・テーブルのフィールド(一致する型のみ格納可能)
大から小への変換は困難、小から大への変換は楽、と同じ理屈です
例えるなら、配列(大)→エクセル(大)、配列(大)→テーブル(小)
592: 2020/09/10(木)04:07 AAS
>>590
一発の目的は何なんだろう
コードを短く書きたいってだけなら
配列をデータセットに代入とかならできたんじゃないか
エンジン内部ではレコード数分ループしてるかもしれないけどね
クリップボードにコピーしたデータをAccessに張り付けると複数のインサートだよね
.NetとかだとLINQとか使って代入してたんじゃないかな
VBAでも探せばありそうだけどどんな使い方をするかによるんじゃないの
SQL1命令で複数レコードインサートする命令はかけるわけだから、探せば関数があるかもね
593: 2020/09/10(木)23:54 AAS
データの加工ってアクセスで行うよりもエクセルとかでやった方が早くない?

アクセスは加工じゃなくてデータの新規入力と抽出、分析のためのソフトだと思う。
 
594: 2020/09/12(土)09:57 AAS
データ件数によるでしょ
595: 2020/09/12(土)13:00 AAS
Accessで楽観的排他を行いたいです。
変更時間を持っているので、表示した時と更新時の時間が変わっていたらキャンセルしたいです。
(1人が使用していましたが、複数人使うことになったので改修することになりました。)

データシートビューで直接値を変更できるようになっており、
変更日付も保持しています。

私が変更した時に、変更日付が変わっていたら反映しないようにしたいです。

以下が分からないので、ご教示お願いします。

1.データシートビューなので、複数レコードがありカレントレコードの変更日付(表示した時点)の取得方法がわかりません。
  (更新時に変更日付を取得すると、誰かが更新していた時には他の人の更新時間が入っています。)
2.変更をキャンセルするには、レコードのbeforupdateに処理を書けばよいのでしょうか。
省1
596
(2): 2020/09/12(土)13:00 AAS
Accessで楽観的排他を行いたいです。
変更時間を持っているので、表示した時と更新時の時間が変わっていたらキャンセルしたいです。
(1人が使用していましたが、複数人使うことになったので改修することになりました。)

データシートビューで直接値を変更できるようになっており、
変更日付も保持しています。

私が変更した時に、変更日付が変わっていたら反映しないようにしたいです。

以下が分からないので、ご教示お願いします。

1.データシートビューなので、複数レコードがありカレントレコードの変更日付(表示した時点)の取得方法がわかりません。
  (更新時に変更日付を取得すると、誰かが更新していた時には他の人の更新時間が入っています。)
2.変更をキャンセルするには、レコードのbeforupdateに処理を書けばよいのでしょうか。
省1
597
(1): 2020/09/12(土)15:30 AAS
>>596
私が解釈しているトランザクションは
複数テーブルを同時に書き換えるときや、大量処理で数秒以上要するときに使うもんだと思ってます。
Aさんが更新した情報を上書きしてはいけない状況なのでしょうか。(一部、重複的な更新入力になったとしても)
accessの親切なんだかよくわからん設計で、他人の更新が画面に反映されるのは確かです。
レコードポインタを合わせた時刻をパブリック変数に入れて
更新前イベントで、更新時刻フィールドと変数を比較して
変数より大きい値ならアラートの一つでも出してundo処理でしょうね。
(コマンド忘れたけど)
598: 596 2020/09/13(日)10:15 AAS
>>597
間違い防止のため、上書きしたくないみたいです。

ご教示頂いた内容で対応したいと思います。
ありがとうございました!
599: 2020/09/22(火)03:30 AAS
POWER APPSでつくればACCESSのレコードなどをスマホやタブレットで閲覧することはできますか?
600: 2020/09/22(火)14:49 AAS
余裕
601: 2020/09/23(水)21:35 AAS
古くて申し訳ないですが、Access2002です
フォームを作って、コンボボックスでデータ一覧(ID:数値が入っている)を表示させました
マクロを作って、アプリケーションの実行を設定して、コマンドラインにアプリケーションのありかと開くファイル名を入れました
開くファイル名に固定文字列を入れるとうまく開くのですが、そこにコンボボックスの数値IDを渡したいんです
コンボボックスダブルクリックでマクロが呼び出されるようにはしたので、あとは数値を渡すだけなんですが、
コマンドラインにどのように記述すれば目的の数値を含むコマンドを実行できるでしょうか?
602: 2020/09/24(木)08:54 AAS
イベントプロシージャでVBAでやった方が楽やで
603
(1): 2020/09/24(木)09:09 AAS
Private Sub データ一覧_DblClick(Cancel As Integer)
Dim strPath As String
strPath = "notepad.exe C:\test" & Me![データ一覧] & ".txt"
Call Shell(strPath)
End Sub
1-
あと 399 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s