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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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
604: 2020/09/24(木)10:28 AAS
>>603
できましたありがとう
605: 2020/09/24(木)12:19 AAS
フォームでリストボックスをつけてみたのですが、列が1列しか表示されません。
表示されたものをクリックすると複数行複数列が出てくるのですが、最初から全部表示させたいです。
フォームを開くだけで複数の列を表示させるにはどうしたらいいでしょうか?
606
(1): 2020/09/25(金)15:04 AAS
VBAで質問です
フォームのリストをダブルクリックすると発生する同じようなイベントプロシージャがいっぱいあるので、
標準モジュールのSubにまとめて記述することにしました
イベントプロシージャの中でMe![id]というのを使っていたのですが、そのままコピーしてもMeのところで使用方法が不正だとエラーが出ます
各プロシージャからオブジェクトの名前をStringで渡しても、対象はコレクションでなければなりませんとエラーが出ます
何をどのように記述すればいいか教えてください
1-
あと 396 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.012s