[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:50 / Filesize : 273 KB / Number-of Response : 1044
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Access VBA 質問スレ Part1



1 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:53:46.88 .net]
AccessのVBAに関する質問スレです

★1 質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンは必ず書きましょう。

★2 AccessのVBA以外の部分に関する質問はNGです。
   但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。

★3 AccessのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

★5 わからなければとりあえず「マクロの記録」(Alt, T, M, R)

関連スレ
Excel VBA 質問スレ Part23
toro.2ch.net/test/read.cgi/tech/1327763113/l50


303 名前:デフォルトの名無しさん mailto:sage [2015/04/19(日) 09:54:27.68 ID:S72BOy6b.net]
フィールドが100個くらいあるエクセルデータを同じように取り込んだときに経験したことある
ケド、、、、原因調べないでおわっちゃたなwそーいえばww
原因を探るためにDebug.Print入れたら登録がされるようになって、原因解明より先に仕事・・・・となって、そーいえばそのままww

304 名前:デフォルトの名無しさん mailto:sage [2015/04/20(月) 08:09:04.77 ID:ZV6mzr+5.net]
>>287
ここ、Accessスレですよ。

それとGoogleで調べれば分かるような内容の質問はどこのスレでも
禁止です。頭に叩き込んでおくといいですよ。

305 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 06:47:20.55 ID:cQx6YORh.net]
中文(簡体)文字のファイル名をダイアログで取得して、コピーしたり開いたりしたいんですが、"見つかりません"と言うメッセージに。
中文文字の入ったファイル名やフォルダー名を取り扱う方法かヒント頂けないですか。

306 名前:デフォルトの名無しさん [2015/05/14(木) 12:50:18.83 ID:No/KpZZc.net]
二つ教えてください。

1コンボボックスコントロールの

307 名前:・が反応しない時がある

2リストボックスコントロールAからデータを取得するとき
A.BoundColumn=1
変数=A.ItemData(A.ListIndex)
A.BoundColumn=2
変数=A.ItemData(A.ListIndex)
A.BoundColumn=3
変数=A.ItemData(A.ListIndex)
A.BoundColumn=4
と一つの関数内で取得する列を変更してデータを取得しようとしても、データが取得できる場合と取得できない場合が発生するのはなぜでしょうか?
[]
[ここ壊れてます]

308 名前:デフォルトの名無しさん [2015/05/16(土) 10:31:05.05 ID:s10/F9Sk.net]
Accessって新しくなればなるほど、不安定化してない?
なんとなくだけど

309 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 12:20:26.27 ID:mEQOWf9/.net]
>>297
激しく同意
Accessも立ち位置が怪しくなりつつあるのかなって。。。。
今の時代ならForguncyみたいなのがオフィスファミリーのラインナップに
ほしいとこだね。

310 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 14:09:51.76 ID:/YqkcKmb.net]
>>297
ど安定だと思ってた。難しい事しないからかもだけど。

311 名前:デフォルトの名無しさん [2015/05/16(土) 17:59:47.30 ID:s10/F9Sk.net]
/decompileオプションをつけてファイルを開くなんて、昔はなかったのになぁ・・・。



312 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 22:55:57.30 ID:xhmYU3Qu.net]
>>297
俺の体感ではすくなくとも2007までは順調に安定化してるけど
それ以降は使ってないから知らん

>>300
/decompileっていつからあるんだろうな
昔は全オブジェクトを別mdbにエクスポートとか結構頻繁にやってた記憶が

313 名前:デフォルトの名無しさん [2015/05/17(日) 10:45:41.40 ID:vGSHuJcU.net]
>>301
97くらいからはあったはず。
でも/decompileを使うようになったのは2003以降かなぁ?
むかしはmdbファイル丸ごと見事に壊れたから/decompileすら登場の出番が無く
今はVBAを入れるとスグ壊れるから/decompileが効力を発する機会が増えた

うーん・・・改善してるのかもなw
ただ開発をやっている人から見るとVBAをいじってる最中の異常終了が増えた
感じがするから不安定化しているように見えるのかも

314 名前:デフォルトの名無しさん [2015/05/22(金) 21:24:51.38 ID:zmoBF1Q0.net]
[Forms]![コントロール名]......

のように使う
 !

 フォーム.プロパティ

「!」と「.」
の違いってなんなんでしょうか?

315 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 21:51:36.82 ID:yor6OqJo.net]
/decompile 知らなかった。

316 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 12:42:53.54 ID:J5W2ethN.net]
俺もだよ

>>303
それも知らないねぇ。
ただ、外部モジュールから参照するときは ! でないとダメなんじゃなかったかな。違ったかもしれん。

317 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 12:45:03.86 ID:J5W2ethN.net]
モジュールって何やねん
オブジェクトやオブジェクト

318 名前:デフォルトの名無しさん [2015/05/23(土) 12:50:24.50 ID:VCG+Khsg.net]
外部オブジェクト用なんだ、、、
知らなんだ

319 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 13:54:06.28 ID:8oQ8jNeY.net]
!はコレクションの要素を指定するときに使う
.はオブジェクトのプロパティ(メンバ)を指定するときに使う

320 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 08:05:22.83 ID:lvaBWQ33.net]
>>308
コレクションの要素の意味が分からん。

321 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 14:12:01.89 ID:5bPXfDHX.net]
>>309
コレクションの意味がわからんのか?
要素の意味がわからんのか?

簡単に言えば、複数のうちのどれか ってことだが
何が複数なのかは!の前のやつによって違う

Formsはまさにフォームのコレクション
個別のフォームならControlsが既定コレクション
レコードセットだとフィールドが既定のコレクション



322 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 21:13:26.76 ID:GAmiGWam.net]
これっくしょんのっ♪ おべんっとばっこにっ♪

323 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:22:21.63 ID:ZDZjEVN6.net]
書く人の好みもありますかね
私はなるべく「!」ではなく「.」を使ってます

324 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:54:50.76 ID:XhKCRfpS.net]
「!」を「.」では動かないでしょ?

325 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:59:28.17 ID:ZDZjEVN6.net]
対応したプロパティに書き換えて使ってます

326 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 23:07:04.59 ID:XhKCRfpS.net]
ふ〜ん、そうなの
(どゆことかわかってないが)

327 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 10:07:42.72 ID:/8nOg4qQ.net]
クラスのメソッドと
オブジェクトのメンバの違いっしょ

328 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 11:27:33.59 ID:fu7GUEC6.net]
>>316
同じ事を言ってるようにしか見えんが
クラスとオブジェクトはどういう意味で使い分けてるんだ?
メソッドとメンバはどういう意味で使い分けてるんだ?

329 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 13:25:09.01 ID:/8nOg4qQ.net]
馬鹿には無理

330 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 18:22:57.95 ID:C/2xaBAg.net]
>>315
a = [Forms]![f2]![combobox1].Value
a = Forms("f2").Controls("combobox1").Value

他フォームの値を利用する場合等は、こんな感じで書いてます
個人的にコレクション名が入った方が分かり易いのでこうしています
どちらの書き方が良いとか悪い、というのは無いので書く人次第ですね

331 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 21:06:14.54 ID:bDSn3nA4.net]
ほほう、勉強になります。



332 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 05:39:51.54 ID:QOrEbIFI.net]
後者の方がメタプログラミングへの可能性が感じられて良いね

333 名前: 【豚】 mailto:sage [2015/06/01(月) 08:08:03.93 ID:SmEysG22.net]
びっくりおみくじ

334 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 08:55:28.30 ID:0Vy1Z1yY.net]
>>319
つまりどちらの書き方でも
同じ値が取得出来る

335 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:05:13.01 ID:cKv7S2xh.net]
フォーム内のテキストボックスで教えてください。

テキストボックスに値を入れるために選択すると、0が表示されます。
空白の状態から値を入力できるようにするには、どこの設定を変えれば良いのでしょう?

336 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:06:45.16 ID:cKv7S2xh.net]
>>324は非連結のテキストボックスの場合です。

337 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:16:53.77 ID:cKv7S2xh.net]
>>324は解決しました。
フォームオープン時にVBAで0を設定していました。
他人のソースだったので気がつきませんでした。

スレ汚し失礼いたしました。

338 名前:!omikuji mailto:sage [2015/06/24(水) 19:15:19.74 ID:QTgmX67K.net]
>>319
クエリの抽出条件に書いてみた。
コレクション(index)の書き方ではダメだった。

339 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 03:15:52.99 ID:pZAotZeg.net]
>>327
そりゃVBAの構文をクエリに書いても無理でしょうに

340 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 05:46:02.39 ID:0DqbKMKe.net]
>>328
そうなのですか、ビルダーで作成される以外の記述を試したかったのです。

341 名前:デフォルトの名無しさん [2015/06/25(木) 07:48:35.30 ID:tqVIvEYY.net]
お試しで書いたプログラムを納品されたクライアントがかわいそう



342 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:29:02.00 ID:r6P8NuLo.net]
>>330←納品だの客だの何言ってんのこのバカ?

343 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 09:39:28.85 ID:CcSdJJgr.net]
>>331
Accessでしょっぱい商売やってる、自営業のプログラマなんだろww
ハッキリ言って取るに足らない存在。

344 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 15:10:49.63 ID:2kk3aD1Z.net]
ツボったω

345 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 21:31:36.86 ID:UqhUXHzI.net]
俺もしょっぱい2号

346 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 07:28:53.29 ID:6H2NxaAj.net]
プロジェクトのテーブルに
プロジェクト番号、
作業内容Aの担当者、
作業内容Bの担当者、
作業内容Cの担当者と入力するテーブルがあり、
それとは別に工数入力テーブルで、
各担当者毎にプロジェクトに対しての作業工数を付けたいのですが
どのようなリレーションシップの関係を持たせれば良いでしょうか?

347 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 12:20:42.38 ID:7dLfVbOx.net]
>>335
リレーションって、工数入力テーブルのテーブルレイアウト決まってるのか?
まあ、プロジェクト番号と担当者で参照するだけなんだけど

そのプロジェクトのテーブル含めて、DB設計もうちょっとちゃんと勉強した方が良いんじゃね

348 名前:デフォルトの名無しさん [2015/07/27(月) 17:54:56.83 ID:cZFieeE ]
[ここ壊れてます]

349 名前:U.net mailto: VBAのソースが開けなくなる現象ってどうしたらいいの?

decompileつけても治らない

新しいファイル作ってインポートもダメ
[]
[ここ壊れてます]

350 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 20:40:40.78 ID:n6WPrg6a.net]
押してもダメなら・・・

351 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 20:59:07.74 ID:LaMoSGUn.net]
>>337
数年に一回、私もそんな目にあいます。
だいたい復旧出来ないので、バックアップ欠かさずとってます。
どうにかなるなら私も知りたいですが。



352 名前:デフォルトの名無しさん [2015/07/27(月) 21:30:17.92 ID:FqSPmPlY.net]
やっぱみんな同じ現象に悩まされてるんだね

ネットワーク共有フォルダ上だと起きやすい

ネットワーク共有フォルダ使わなきゃいいんだけど、うちの情シスが変な縛りかけるからコレしか手がないし

353 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 23:01:15.51 ID:vqEIRiU+.net]
ソースコードは、単なるテキストデータだろ?

それが開けないのは、
そのデバイスがバックアップ・メンテナンス中などで、
ロックされているのかも

354 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 01:08:06.50 ID:/CfsPtPn.net]
壊している方は
ネットワーク上で直接開いたり
mdbをフロントとDBに別けなかったり
ほとんど同じパターンですよね

>>341
Accessを使われていない方とお見かけしました
mdbが破損するとソースも壊れる事があります

355 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 02:11:12.48 ID:Gxa4R9yG.net]
Access2010利用

Access起動時の「コンテンツを有効化にする」を押下した直後に、関数を実行する方法はあるのでしょうか?

現在は「AutoExec」マクロから「プロシージャの実行」を行い、対象の関数を実行させていますが、Access起動時の「コンテンツを有効化にする」を押下する前にマクロが実行され、プロシージャが実行出来ない旨のエラーメッセージが表示されてしまいます。

ExcelのAuto_Open関数は「コンテンツを有効化にする」押下後に、処理が始まっていたので、それをAccessでそれを実現したいと思っています。

処理内容は「Accessウィンドウの不可視化
」「メニューバーの不可視化」「対象のフォームを開く」です。

どうかご教授をお願いいたします。

356 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 05:30:07.04 ID:fplyMpww.net]
>>343
>処理内容は「Accessウィンドウの不可視化
>」「メニューバーの不可視化」「対象のフォームを開く」です。
それ全部マクロなしで設定でできる気がするけど

スタートアップ用のフォーム作って起動時指定して、そのフォームのプロシジャで設定してやれば良いんじゃね

357 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:31:54.27 ID:Gxa4R9yG.net]
>>344
ありがとうございます
確かにマクロを使用せずに設定出来ました
更にFormLoadを利用したところ「コンテンツを有効化にする」押下後に動作しました

今まで業務ではExcelばかり利用していましたので、Accessのオプションの多さ、分かりづらさ(自身の無知に起因する事が多いですが…)に戸惑っています
Accessを使いこなせる人は本当にすごいと思いました

358 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 05:14:22.27 ID:ZRhH79SV.net]
ExcelのVBAはExcelというアプリケーションを操作するためのものだけど
AccessのVBAはAccessを使ってアプリケーションを作成するためのものだからな

359 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 08:10:22.71 ID:u4JV0/NP.net]
2行目”〜Accessというデータベースを操作する〜”のほうが名言ぽくなりませんか
(添削ではありません。提案です)

360 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 08:29:50.19 ID:dTRZmQiN.net]
>>347
そうは全く思わない
VBAはデータベース操作のためのものではない
あくまでアプリ作成のためのもの

361 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 11:40:56.13 ID:GsLj6RLA.net]
>>348
確かにExcelとは違って、アプリケーションを作っている感覚が非常に強いですね
Access感を感じさせないUIにする事も簡単でしたら
そのせいで、フォームのUIを美しくする為に時間がかかってしまいますw



362 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 11:42:54.62 ID:GsLj6RLA.net]
×:Access感を感じさせないUIにする事も簡単でしたら

○:Access感を感じさせないUIにする事も簡単でした

363 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 11:55:46.07 ID:LbLYBwwY.net]
データベースの操作もお手軽に出来て便利。
アプリ開発環境としてはどうなの?
私は零細企業の社内システム開発用として便利に使わせて頂いてます。

364 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 12:37:07.35 ID:Uy/1MbzZ.net]
両者のVBAはデフォルトの参照設定が違うだけですよ
VBA以外は言われている通りAccessの方がはるかに強力ですね
Excelはユーザーフォームくらいです

特殊なレポート印刷なんかは無理してAccessでゴリゴリ書くより
Excelで書式作ってAccessから流した込んだ方が楽だし
データ操作ならAccessじゃないとキツイし
それぞれ得意分野はありますよね

365 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 21:08:18.97 ID:AR+WC9yM.net]
今更だが >>343 はセキュリティの設定だけで回避できるんじゃ?
そもそもその「コンテンツを・・」が出ないようにすることのほうが重要なんでは?

366 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 22:38:28.30 ID:ZRhH79SV.net]
>>353
それはアプリケーション側ではなんとも出来ないので

367 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 23:04:31.90 ID:AR+WC9yM.net]
は?  Access2010利用って書いてあるだろ? たとえそれがRuntimeだとしても
ロケーションを信頼するとかで可能だろ? 不特定多数に配布するケースでも
インストーラを調整することで「なんとも出来ない」は回避するものだろ?
毎回「コンテンツを・・」を表示させるほうがどうかしてるぞ?  そんなの誰が信用してくれるんだ?

368 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:17:43.06 ID:2bNGPX4C.net]
あれ?コンテンツ〜の話って
「プライベート ネットワーク上にある信頼できる場所を許可する] チェック ボックスをオンにして回避するって話ですか?
2010だと↑をオンにしてないと変な場所では最適化も出来なかったような

369 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 13:29:01.86 ID:cMN9HbGV.net]
>>355
アプリケーションが自分自身の信頼性を操作するのか
そんなアプリこそ信用できんわ

>>356
べつにネットワーク上に限った話ではないと思うが

370 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 16:54:08.69 ID:CU261QGz.net]
を? MSが推奨してんのに信用できねえ てか  Accessは使ってやるけどMSの言うことは聞く耳持たねてか 偏ってるな

371 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 19:02:41.55 ID:cMN9HbGV.net]
>>358
MSが何を推奨してるのかしらんが
アプリケーションの意味が通じてないのかね
アプリケーションを.ACCDB(.MDBでも.ACCDEでも良いけど)に置き換えて考えてみ



372 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 20:41:54.56 ID:CU261QGz.net]
その域じゃ無いことが判ったからいいよw その域じゃない奴に諭される謂れわ無いわw
いくつかのキー・ワードで「あぁ、あのことか」って気付けないならこれ以上は時間の無駄  おまえの言うとおりでいいよw
そもそもここはAccessの板だし、おれはAccessの話をしてるんだ アプリケーションのアの字も使って無ぇw

よしんばAccessで作られた業務パッケージをアプリと呼びたいなら呼べばいいが、その業務アプリを動作させるうえで
発生するセキュアに関するメッセージはAccessの基本機能で回避できる って云ってるんだ
それを「信用できねえ」っつーんなら使わなくていいんじゃね? 世の中にはごまんと同様の機能を備えたアプリケーションが存在するだろ
Accessに拘る理由なんざこれっぱかしも無ぇだろ 俺の文章のどれがおまえの琴線に触れたか知ったこっちゃ無いが 「ごめんな」

373 名前:デフォルトの名無しさん [2015/08/03(月) 21:08:56.51 ID:Mp/3eH1E.net]
逆鱗(ぎゃくりん)

374 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 22:23:38.07 ID:C0QRYaFQ.net]
runtime 2010(2013も同じ)の起動時のセキュリティ警告を出ないようにする
www.mkkobo.com/runtime/runtime04.htm

375 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 03:50:55.73 ID:Kz/6+HRH.net]
>>343で質問した者です
細かい利用環境等を書いてなかった事で迷惑をかけました
ごめんなさい

会社独自で開発したと思われる共有サーバシステム上に、accdbを置いて利用者は「読み取り専用」で利用します。(accdeは共有サーバ上では起動できません。)

なので、Access内で設定出来るオプション以外は全く自由がきかず、共有サーバ上でaccdbを開くと必ず「コンテンツを有効化にする」ボタンが表示されてしまうのです

今回の問題自体は、FormLoad関数をExcelで言うAutoOpen代わりに使う事で解決出来たと思っています

しかしAccessって、Web上で資料を探すにしても、資料が豊富なExeclVBAに比べてAccessVBAは資料が少なく、更にバージョンによって仕様が大きく変わるので大変ですね

このスレのやり取りを見ているだけで非常に勉強になります
ありがとうございます

376 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 04:09:40.86 ID:JacjvlNa.net]
>>363
ファイル共有のプロトコルとかによって制約あるかもしれんが
共有フォルダを信頼できる場所に追加する事は可能だぞ

ただ信頼されてないaccdb(のVBA)から、信頼できる場所を設定とか出来ないし
そんなことができたら信頼できる場所の意味がないからな

377 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 15:51:27.89 ID:dmHYZv4f.net]
利用環境:Access2010、Win7
現在、国内の物件情報をテーブルに入力して、出力フォームで参照出来るようにしています
テーブルのフィールドは「物件No(主キー)」「物件名」「県」「市」「区」「町」「番地」「物件情報」です

新しいレコードが増えた場合は、入力フォームから、データを入力出来るようにしようと思っています

ここでお聞きしたいのは、入力フォームで新しいレコードを登録しようとした際の「重複チェックの方法」です
物件名は、入手先の情報や、入力者の考えによって
様々な表記ゆれが生じます(例:2棟 二棟 A棟 U棟)
入力規則を設ける事によってある程度は回避できると思いますが、
回避が難しいケース(例:ライオンズマンション Lionsマンション Lion'sMansion)の場合は
みなさんはどうやって重複チェックを行っているのでしょうか?

自身で考えた所では、入力フォームで新たなレコードを登録する際に、
似ている物件名があった場合は、お互いのレコードで「県」「市」「区」「町」の重複チェックを行い、最終的にユーザーに「似ている物件がありますが、これとは別の物件ですか?」と警告を出そうと思っています
そうする場合は、「フリガナ」フィールドを追加する必要があると思っています

しかし、もっとスマートな方法があるのではないかと思い、ここで質問させていただきました
よろしくお願いします

378 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 16:57:05.93 ID:Bc8ICzH9.net]
>>365
挙げられてますが、半角数字のみなど番地の入力制限は必須でしょうね
物件名のフリガナで番地違いもチェックされるみたいですし
十分スマートだと思いますよ

自分だったら番地まで一致した時にアラート出しますね
残りは住所or物件名でソートした物件リストに丸投げしちゃいます

379 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 17:07:34.90 ID:URaglvwf.net]
>>365
月1くらいで住所は同じ、物件名が違うの重複チェックを動かしてリストに出すような運用にするとか。
難しいことをら考えずに済む。

380 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 17:23:47.23 ID:ndgPjsPh.net]
なんで郵便番号のフィールドがないのか不思議

381 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 22:00:34.14 ID:VP6wM0Pb.net]
時代はすでに二十一世紀なんだよ いまさらフリガナでもあるまい
フィールドひとつ追加 lat,lng 緯度・経度 43.386338,144.0087



382 名前:51 下六桁あたりで固定すれば
間違いようも無いだろ 不動産業界に身を置きながらなんでそんなことにも気付かない
マップアプリに上の数字コピペしてみりゃ、世界中の誰だって間違いようも無い

なに? じゃあ緯度・経度どうやって調べるだと? そのぐらいじぶんで調べろ 長押しするだけだ
まぁ、ゆえに危険が危ないがな  便利って物はとてつもなく不便なものにも等しいんだ 覚悟して使え

雌阿寒岳山頂が出るはずなんですけど、違う位置を示すマップアプリ有ったら教えてください 使用禁止にしますので
[]
[ここ壊れてます]

383 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 22:40:26.46 ID:yfcMdSNW.net]
まあ、ACCESSもVBAも全く関係ない話なんだが
最終的には人間が検査しないとどうしようもないんだろうなと思う
市区町村番地あたりまではルール決めて、そこまで一致なら警告でいいんじゃね

384 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 01:30:34.87 ID:f5x8JVe4.net]
すみません、郵便番号のフィールドもあります。入力し忘れていました

・1.レコード入力時に、住所関連のフィールドを利用して重複チェックを行い、ヒットした場合は警告を出す
・2.定期的にテーブル内のレコードの重複チェックをする
・3.物件の座標を利用して重複チェックをする

上記3つの案をいただいたと思いますので
1と2を組み合わせて運用したいと考えます

3の案>>369は、完全に自身の頭に無かったアイデアなので驚きました
入力者の稼働を考えて、負担にならなければ導入してみようと思います

たくさんのレスをいただき、心から感謝致します
受けた恩を忘れず、このスレに来た別の質問者の力になれるよう精進します

385 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 09:14:11.16 ID:/XuT1ECN.net]
警告出すとかVB脳的にダサいから
郵便番号入力してヒットしたらリストボックスに表示させて
番地を半角か全角縛りにしてヒットしたらリストボックスに表示させる
リストボックスが件数ゼロなら新規入力ボタンをイナーブル
あぁ俺それ作りたい

386 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 12:16:55.68 ID:TsVm0Bt4.net]
人名・地名、固有名詞系はなあ 特殊と考えたほうが無難だからな  例えば・・
吾妻 という人名のふりがなを ある人は「あづま」と入れ別の人は「あずま」と入れてしまったり
じつは「あがつま」と読みます だったり
3-11-22 という地番を三丁目11番22号 三丁目11-22だの、 宛名印刷に合わせて三丁目十一番二十二号としていたり・・
それが結構な確率で頻出するのだからやっかい

それらを一律の規律で縛るのはあまりクレバーとは言えない時代になってるような
鱸 が読めないゆとりのためには「ふりがな」が必要 ってのなら意義あるだろうけど  まあ、おれだけど

387 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 19:16:37.92 ID:FwE103qy.net]
フォームでFilter関数使おうと思ったら
IntelliSenseが効かなくて
無理に使おうとしてもエラーで使えず
???と思ったら
Filterプロパティとバッティングしてた。
VBA.Filterで解決したんだけど
プロパティの値ってオブジェクト変数無しでもアクセスできるのな。

388 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:34:57.56 ID:AWvgSxoB.net]
>>374
フォームモジュールでそのフォームのプロパティならな

389 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 14:59:32.42 ID:G2C7HV6B.net]
皆様、すみません

フォームAに入力されているテキストボックスAの値(数値)を、
フォームB(データ登録用)を開いた際に自動的にテキストボックスBに入力させないのですが、どうしてもわかりません

openform 〜 , , , , acforma

390 名前:dd で記述しています

教えていただけないでしょうか
[]
[ここ壊れてます]

391 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 15:32:18.52 ID:Q+lcejU0.net]
>>376
自動入力「させない」になってますが「させたい」って事ですよね?

Form_Load もしくは Form_Open イベントに
Me.テキストボックスB.Value = [Forms]![フォームB]![テキストボックスA].Value
もしくは >>319 みたいに
Me.テキストボックスB.Value = Forms("フォームB").Controls("テキストボックスA").Value

Load、Openどちらでも動くと思いますが、適した方を使ってください
コレクションに関しても好きな方を使ってください



392 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 16:26:57.95 ID:G2C7HV6B.net]
>>377

あっさりとできました
ありがとうございました

たしかにformのイベントでやるべきでしたね、思い付かなかったです
勉強になりました

393 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 18:38:30.96 ID:6lFy7xXj.net]
>>376
単純に
DoCmd.OpenForm "フォームB", , , , acFormAdd
Forms!フォームB!テキストボックスB.Value = Forms!フォームA!テキストボックスA.Value
で出来ると思うけど?

394 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 21:45:03.07 ID:7VERYxcQ.net]
今使っているACCESSデータをPC3台で共有しようと思っています。

その場合、テーブルをサーバーPcに、フォームとクエリをクライアントPCに入れて使うと良いとのことでした。

ただいま、フォームを非連結にして、ADOでの追加や更新ができるように変更中です。

質問ですが、
すべてのフォームを非連結にするべきなのでしょうか?
データの追加更新のない、閲覧専用のフォームをネットワークトラフィックを考えて変更すべきでしょうか?

また、分割したテーブルのあるACCESSデータをNASに入れようかとも思っているのですが、PCの場合と動作に違いはでますか?(ここは単にスペックの問題でしょうか?)

どうかお時間のあるかた、教えていただけないでしょうか。

395 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 01:04:22.51 ID:l45kMI9F.net]
テーブルを外部からリンクすれば連結でいける

396 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 06:18:28.72 ID:KaSAZPht.net]
>>380
テーブルだけのファイルをネット上の共有フォルダに置いて、それのリンクテーブルとその他のオブジェクトが入ったファイルを配布して使うだけ。
フォームの作り直しはしなくて良いと思います。

397 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 19:55:28.61 ID:LTr8/sln.net]
>>381
>>382

ありがとうございます

今まで作ったフォームをすべて非連結にするのは難しそうなので追加更新するフォームだけにしようと思います。

398 名前:デフォルトの名無しさん [2015/09/02(水) 22:58:44.74 ID:U41rngxq.net]
>>382
その他のオブジェクトの入ったファイルは複数人で開いても問題ないのでしょうか?

399 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 12:17:52.51 ID:TMANfQ/W.net]
>>384
オブジェクトだけのファイルは各パソコンにコピーして使うの。

400 名前:デフォルトの名無しさん mailto:sage [2015/09/09(水) 20:14:57.09 ID:k4ZkuMcU.net]
二次元配列からレコードにデータを入れる方法は

With Rcd
.AddNew
For i = 0 to 99
 .Fields(i).Value = x(0,i)
Next
.Update
End With

という様な地道な方法しかないんでしょうか?
データを入れるのに時間が掛かるので、Excelの

Range(Cells(1,1),Cells(UBound(x,1),UBound(x,2)) = x

みたいな形で一気に代入出来て処理時間を短縮できる方法はないのでしょうか?

あとDoCmd.TransferSpreadSheetでエクセルシートをインポートする方法も試したんですが、
Access側からExcel.Applicationを取得してワークブック開く方法だとエラーが出て、手動で開いた状態にしておくと読み込むんですが、
これはインポートする際にいちいちエクセルで開いておく必要があるんでしょうか?

401 名前:デフォルトの名無しさん mailto:sage [2015/09/10(木) 04:22:41.07 ID:t/YL/t1I.net]
>>386
>地道な方法しかないんでしょうか?
地道に見えるんですね・・・。

DoCmd.TransferSpreadSheet
で、ググると
ttps://msdn.microsoft.com/ja-jp/library/office/Ff844793.aspx
なるページが出てきまして、そこに・・・
「インポートする際にいちいちエクセルで開いておく必要」
なんて書いてありませんでしたよ?



402 名前:デフォルトの名無しさん mailto:sage [2015/09/11 ]
[ここ壊れてます]

403 名前:(金) 00:19:59.73 ID:8grThG6x.net mailto: >>386
SQL は長くなるけどパフォーマンス気にしてるなら INSERT VALUES 試してみれば?
多少は早くなるかもよ
[]
[ここ壊れてます]






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef