Access VBA 質問スレ Part1 at TECH
Access VBA 質問スレ Part1 - 暇つぶし2ch200:デフォルトの名無しさん
14/02/03 18:58:14.00 .net
生データインポ時に変換されただけとかは?
つまりODBC接続でもデータを相応しい変換しておけば解決できるのかも

201:デフォルトの名無しさん
14/02/03 22:22:24.80 .net
そもそも外字サポートされてるのかどうかしらんが
たんにdbmagicで外字がバグってただけだろ

202:デフォルトの名無しさん
14/02/08 21:20:31.59 .net
SQLのReplace Intoに相当する物って有るんですか?

203:デフォルトの名無しさん
14/02/10 01:08:00.70 .net
フォームに伝票基本情報
サブフォームに詳細というか明細欄(だいたい30レコードくらい)配置して、
1売上1レコードになるようにしています。
サブフォームに、
内容 金額 委託 委託金
とフィールドがあり、委託したときに入力するですが、
(この委託の部分も、
1売上(外注)1レコードにできませんか?

204:デフォルトの名無しさん
14/02/10 01:42:27.90 .net
誰か翻訳

205:デフォルトの名無しさん
14/02/10 11:01:12.98 .net
>>199
そもそも標準的なSQLにそんな命令聞いた事ない
ACCESSでも聞いた事ない

206:デフォルトの名無しさん
14/02/10 11:05:35.28 .net
>>200
なにがしたいか良くわからんが、サブデータシートとかサブフォームのネストとか
たぶんそれでできるんじゃね

207:デフォルトの名無しさん
14/02/12 15:25:40.29 .net
>>199
MySQLの独自実装か?
SQL ServerにもPostgreSQLにもないが・・・。

どんな動きかググってまで答える気にならない。

208:デフォルトの名無しさん
14/02/16 11:19:02.87 .net
>>202
>>204
ググレカス

209:デフォルトの名無しさん
14/02/27 09:57:10.80 .net
練習がてらVBAでユーザー定義関数をつくろうかと思ったんですが思った通りのものが作れず困っています。
というか簡略化できないもんかと思っているわけですが。

OS XP
Access 2003

Function AAA(Parm01,Parm02,Parm03...) AS String ’parmは最終的にParm24までできますがここでは簡略化

If


210:Parm01 = "S" or Parm01 = "A" then      AAA = "1" Exit Function Else      AAA = "0" end if End function とすごく単純なものなのですが、Parm01~Parm03(実際にはParmは24個)にはそれぞれS・A・B・Cのいずれかが入っているので それを数値に変換する仕組みを作りたいのです。 SかAだったら1を。それ以外(B・C)だったら0を返す。 上には記載していませんが最終的にはParmの中身を全て合計した値を返すようにいじる予定です。 で、問題なんですが、IF文の中でParmの中身を判定しているわけですが、これをParmの数だけ作るのはなんか美しくない。 Parm01~24をまとめて判定するにはどのようにするのが美しいでしょう。 ご教授頂ければ嬉しいです。



211:デフォルトの名無しさん
14/02/27 11:20:17.13 .net
>>206
まず24個も引数取るのを美しいか疑問に思えよ
その24個をまとめたコレクションなり配列なり用意するとか
その24個にあまり関連がないないならParamArrayつかえ
(その前提でまとめて同じ引数にするのおかしいけどな)

212:デフォルトの名無しさん
14/02/27 11:34:23.61 .net
>>207
ParamArrayというのがあるんですね。ありがとうございます。調べてみます!

美しさに関しては超ごもっともなんですが、如何せん元のデータをいじる権限がなくてですね。
元データの開発者をぐーで殴りたいレベル。

識別コード(一意)|24ヶ月前|23ヶ月前|22ヶ月前|21ヶ月前|・・・|当月|

ってな感じなんですよ。
んでこの○ヶ月前ってのがParmになるんですけどコレクションにせよ配列にせよ、結局は同じことなので
AAA(24ヶ月前,...当月)ってやっちまったほうが早いかなと。

大変助かりました。ありがとうございます。

213:デフォルトの名無しさん
14/02/27 14:06:57.28 .net
VBAにそんなもんあんのか?構造体使うのが普通だろ
ただしVBAの構造体は遅いけどな

214:デフォルトの名無しさん
14/02/27 14:09:36.05 .net
有りますね、サーセンw

215:デフォルトの名無しさん
14/02/27 15:11:10.30 .net
ACCESSなら元データはテーブルじゃないのか
だったらレコードセットなり渡せば済む話だとおもうが

216:デフォルトの名無しさん
14/03/12 22:15:26.86 W4Gp9YVD.net
設計の悪いDBだとたまに見る形だな
一々縦横変換とかしなきゃならんやつ

217:デフォルトの名無しさん
14/06/24 13:28:55.21 DxDJQaB9C
Accessをメインに仕事されてる方たちに質問。(データ入力は別)

年収どれくらいですか?

218:デフォルトの名無しさん
14/06/30 22:54:27.08 VWrrXenH.net
続きです。
何かすっごく基本的な凡ミスな気がしてるのですが、何かここらあたりありますか?
エスパーな質問で申し訳ないです。。

219:デフォルトの名無しさん
14/07/01 00:30:57.04 0DCE/lPo.net
メモ型はSQL使うと切れたり頭の255しか判定してくれなかったりするからなあ
エクスポートインポートとかはバグで切れちゃうし
普通に文字列INSERTで入るか試してみて

220:デフォルトの名無しさん
14/07/21 20:33:39.99 ufWzAtLi.net
171 名前:デフォルトの名無しさん[] 投稿日:2014/07/17(木) 02:49:51.87 ID:TFQGtdi0
URLリンク(www.ynsk.co.jp)

こちらのサイトに公開されてるアクセスのコードなんですが
Windowsの標準DLLを利用して、メールを受信、送信するプログラムを
実行したいのですが、うまく動かせません。


他のスレッドで質問しましたが、こちらに誘導されてきました。
無償で公開されてるソースコードが動かないのですが、わかる有志の方、いらっしゃいました


221:ら 使い方おしえてください。 元スレッド:Excel VBA 質問スレ Part34



222:デフォルトの名無しさん
14/07/21 20:44:10.09 KfqA2p34.net
どう動かないのかぐらい書けや

223:デフォルトの名無しさん
14/07/21 21:01:38.49 ufWzAtLi.net
●MDBファイルの内容
 ・ メールユーザ(テーブル)……利用するメールアカウントの情報を保存します。
 ※ 以下のように設定して下さい。
     メールアドレス
     POP3サーバ
     ユーザ
     パスワード
     SMTPサーバ
     リターン ← 受信時にサーバなどから通知されるメッセージが設定されます。
     受信要求 ← 0(受信しない)または-1(受信する)を設定して下さい。
     仮受信 ← -1(メールをサーバから消さない)または0(消す)を設定して下さい。

上記の説明通り、テーブルに必要事項を記入しましたが反応しません。
コンパイルはしました。UACを切ってファイルのアクセス権限をeveryoneに変更しました。。
動作確認済み環境が、Win2000とXPProのようで、office97、2000では動作の確認が取れてるみたいです。

自分の環境:Win7pro office2010pro

224:デフォルトの名無しさん
14/07/21 21:04:27.24 KfqA2p34.net
>>218
反応しないってどういうこと?
テーブルにセットしただけでは何も起こらなくて当然だぞ

225:デフォルトの名無しさん
14/07/21 21:44:14.81 ufWzAtLi.net
メール受信(更新クエリというのが有るようですが、そのクエリが見当たりません。初歩的なところで止まっているような気はするのですが、外部からのデータ受ける部分のdllがwin7で動作できない理由と読んでるのですが。ご教授願います。

226:デフォルトの名無しさん
14/07/21 22:38:52.22 DpfIQ25M.net
 ・ B_POP3(モジュール)……メールの受信とデコードを行います。
 ※ このモジュールを実行するためには、作業用のフォルダが必要です。
    B_POP3(モジュール)の中のコーディング
    「Private Const BWorkDir As String = "c:\maildata"」と
    「Private Const BWorkTempDir As String = "c:\maildata\temp"」で
    作業用のフォルダを指定しています。
    ダウンロードしたままの設定で操作する場合、
    Cドライブ直下にmaildataというフォルダとmaildataフォルダのなかに
    tempというフォルダを作成して下さい。
    別のフォルダを利用する場合、フォルダの指定を変更して下さい。
    「Private Const c_WorkDir非消去 As Integer = -1」というコーディングがあります。
    -1のままだと、1メールごとに上記作業用のフォルダの中身を削除しません。
    1ユーザのメールが複数あって、それを受信した場合、作業用のフォルダには全件分のファイルを残しています。
    デバック時に1ユーザごとに受信すれば、中間結果を追えるので、有効なことがあります。
    ファイルには、「mail1.txt」,「mail2.txt」.....などの番号を付けています。
    ファイルと受信したメールを照合させるため、テーブルに保存したメールの「件名」にも番号を付けています。
    0にすると、作業用のフォルダには最後の1件分のファイルしか残りません。
    安定した運用段階に入れば、0にした方がディスク負荷は小さくなります

227:デフォルトの名無しさん
14/07/22 00:54:13.17 aPcZAjL/.net
フォルダのアクセス権限の確認→念のため、everyoneに変更
ディスク負荷による動作停止の可能性→-1から0に変更したが変化なし
そもそも、動作環境は古いマシンで行われていたので
マシンスペックのリソース不足は考え難いと考えました。

もう少し、調べてみます。winsock.dllあたりが怪しいです。
パケットキャップとる以前に、ハードディスクの動作に変化が見られない。

228:デフォルトの名無しさん
14/07/22 02:35:29.84 aPcZAjL/.net
お騒がせしました。
原因は、accessの使い方がわからないまま
クエリが非表示であることに気付かず、試そうとしたためです。
同じ環境をVM作成し、対象のクエリのSQLクエリが見えたのでそれをぱくりました。




229:以上



230:デフォルトの名無しさん
14/07/27 15:01:49.68 1777RigF.net
基本的なことと思いますが、教えてください。

Public Function FuncSyohizei(ByVal kingaku As Double) As Double
FuncSyohizei = kingaku * 1.05
End Function

これを、イミディエイトウインドウから実行する場合
?FuncSyohizei(100.0)
・・・型が一致しません。ちなみに、?FuncSyohizei(100)でも、同じ。
?FuncSyohizei 100
→ 100 ?FuncSyohizeiは、文字列とみなされ、無視された?。

ただしく、100と引数を渡したら、105と返ってくるようにするには
イミディエイトウインドウに、どう入力すればいいんでしょうか。

231:デフォルトの名無しさん
14/07/27 16:34:57.58 fFsyojt4.net
? @FuncSyohizei(100.0)

232:224
14/07/27 18:14:36.50 02SmaVb3.net
いろいろやってみて、解決しました。

フォームモジュールに、これを作ったのがいけなかったようです。
標準モジュールにコピペして、?FuncSyohizei(100)したら
105が出ました。

233:デフォルトの名無しさん
14/07/28 00:30:37.26 ZjuZ26GB.net
Date, Now って
Functionじゃなく
Propertyなのな

234:デフォルトの名無しさん
14/07/28 02:29:49.00 4Zda3n2L.net
>>227
そんな事ないと思うが
もしかしたらそう言う名前のプロパティを持つものもあるのかもしれんが
ちなみに、何のプロパティだ?

235:デフォルトの名無しさん
14/07/28 03:01:52.49 ZjuZ26GB.net
>>228
オブジェクトブラウザ見てごらん

236:デフォルトの名無しさん
14/07/28 13:08:38.66 hu7LkKIJ.net
VBAの標準関数って、VBA組み込みオブジェクトのメンバして実装されてるのか
しかし、メソッドとプロパティの使い分けの基準は謎だな

237:デフォルトの名無しさん
14/08/20 13:35:49.89 qA3YOzZv.net
Access2003でwebスクレイピングしてます。
Dim objHTML As MSHTML.HTMLDocument
Dim objDoc As MSHTML.HTMLDocument
If (objHTML Is Nothing) Then Set objHTML = New MSHTML.HTMLDocument

Set objDoc = objHTML.createDocumentFromUrl(strURL, vbNullString)

ってな感じでタグでデータを拾いたいのと、速度を重視してMSHTMLを使ってやってます。

が、createDocumentFromUrlのところでクッキーのセキュリティ警告が出てしまいます。
URLリンク(imgur.com)
回避する方法はないでしょうか?
インターネットオプションをいろいろといじってみたけど、お手上げ状態です。

URLを変更して呼び出すたびに毎回出てくるので、処理を開始して放置しておくことができません。

238:デフォルトの名無しさん
14/08/20 18:22:09.72 aSpRdTpy.net
>>231
Windows再インストール後初めてプログラム実行したとき表示されたけど
許可して以降は出てないな。

239:デフォルトの名無しさん
14/08/21 00:46:10.94 Ue/CPgyd.net
>>232
本当ですか…

とりあえずプライバシーの設定を最低にして全てのクッキーを受け入れるにしたら、でなくなりました。

が、少し怖い…

240:デフォルトの名無しさん
14/08/21 02:13:22.51 nSwAzUL+.net
>>233
IEの設定を全リセットしても出ない。
Win7x64+IE10

241:デフォルトの名無しさん
14/08/21 02:28:53.95 Ue/CPgyd.net
>>233
win7(32bit),ie11です。

今度クッキーとか履歴とか全部クリアして試します。
メッセージでくぐってもie5がってMSのサイトしかでないんですよね。

ちなみにat Homeの不動産情報サイトです。

242:デフォルトの名無しさん
14/08/21 02:29:20.42 Ue/CPgyd.net
>>234
でした。
すんません。

243:デフォルトの名無しさん
14/08/21 02:32:53.11 SlcBJ8S5.net
>>231
ちょっと状況違うみたいだけど
URLリンク(www.f3.dion.ne.jp)
にある



244:objHTML.DesignMode = "on" 試してみた?



245:デフォルトの名無しさん
14/08/21 16:24:32.22 Ue/CPgyd.net
>>237
231です。
これも見ていたのですが、オンにするとスクリプトが実行されないとあるように、
ほしい情報がとれなくなってしまいました。

コメントありがとうございました。

246:デフォルトの名無しさん
14/10/23 15:05:01.01 RjBQcz8M.net
OLEオブジェクトにゼロデイ脆弱性、Microsoftが暫定対策プログラムを公開
URLリンク(www.forest.impress.co.jp)

247:デフォルトの名無しさん
14/12/23 20:32:46.30 n+XpzPMA.net
質問です。WIN7、ACCESS2010
初歩的な質問なのですが、
文字列を扱う変数では何文字の格納が可能でしょうか?

248:デフォルトの名無しさん
14/12/23 21:36:03.42 M59ZuSy9.net
vbaでgoogle driveにレポートをアップするやり方どこかに良いサンプルないかな。。。google driveのクライアントソフト入ってない場合でも使いたいんで。。。。

249:デフォルトの名無しさん
14/12/23 21:50:29.64 W51mY81m.net
>>240
2Gまでだったと思うけどヘルプ確認してくれ

250:デフォルトの名無しさん
14/12/23 22:33:08.77 n+XpzPMA.net
>>242
ありがとうございます。
では、500文字くらいはしょぼいレベルと捉えて良さそうですね。

251:デフォルトの名無しさん
14/12/24 03:21:35.84 Yxp0O6RL.net
>>240,242-243
2010や64ビットバージョンで変わってなければ
固定長なら約 63KB だけどな
まあ、固定長文字列なんてめったに使う事ないけど

>>241
レポートのアップってのが具体的に何を指してるのかしらんが
そもそもVBAではHTTP通信とか直接サポートされてないから

252:デフォルトの名無しさん
14/12/24 22:57:10.21 vBpiiQ3c.net
>>240で質問した者です。
変数に格納した、ただの文字列をテキストファイルに出力することは
可能でしょうか?

253:デフォルトの名無しさん
14/12/25 03:42:32.22 c/bUBZQc.net
>>245
可能か不可能かっていうならもちろん可能だけど
やり方は色々あるぞ
純粋にVBAだけならPrint#だけど、あんまりこれ使ってるの見た事ないなw
ACCES的に考えると、1回テーブルに格納してテキスト書き出しじゃないかな

254:デフォルトの名無しさん
14/12/25 19:12:54.77 wTh15/U7.net
大量のAccessファイル含め移動するのですが、リンクテーブルのリンク先の一括張り替え機能を実装したいのですが、ご教示いただけないでしょうか?

255:デフォルトの名無しさん
14/12/25 19:40:21.24 /AazF+Ck.net
ADOXDB

256:デフォルトの名無しさん
14/12/25 20:14:11.26 GnPnKi4m.net
>>246
ありがとうございます。
最終的に長めの一文をテキストファイルに出力するためだけに
ACCESSでテーブル作成したりクエリ組んだりしてるのです。
通常の使い方だとテーブルやクエリをエクスポートでいいんでしょうが
なんせ一文のみなので、printというのを試してみます。

257:デフォルトの名無しさん
14/12/25 22:18:03.24 c/bUBZQc.net
>>247
DAOで
CurrentDb().TableDefs("テーブル名").Connect 書き換えてから
CurrentDb().TableDefs("テーブル名").RefreshLink

258:デフォルトの名無しさん
14/12/26 09:32:55.94 4ShwS6Rf.net
マルチだよ

259:デフォルトの名無しさん
14/12/27 17:01:11.46 Mse9t11G.net
>>244
レポートというかAccessから出力された成果物をGoogleDriveのクライアントソフトが
入っていない場合でもGoogleDriveにアップロードしたいということだったのでした。

そんなことをやる人もあまりいないみたいですね。
Pythonあたりでフィルをアップするプログラムを作ってアクセスから
ファイルパスを引数に持たせて実行させるようなイメージで考えてみようかとお思います。

もっとかんたんにできるぉ。。っていう神がいれば教えてたも。。。

260:デフォルトの名無しさん
14/12/27 18:42:52.92 xcx8bYiC.net
>>252
VBAはHTTP通信サポートし


261:てないから、どっちにしろVBAだけではできんが 俺ならC#(かVB.NET)でDLL作ってCOM公開だな C#のライブラリあるっぽいから、ほぼそれそのままCOM公開する形で行ける気がする 探せば誰かすでに作ってるかもしれんが



262:デフォルトの名無しさん
14/12/27 18:46:25.06 MwQYLNUR.net
>>252
pypiで検索してみ

263:デフォルトの名無しさん
14/12/27 21:43:55.93 N3QWsaPU.net
情報ありがとうございました。

>>253
VisualStudioもPro同等品がフリーの時代ですからね。
勉強してみたいのですが、時間(&気力)が乏しく、、、まずは探してみます。

>>254
Python自体ほぼほぼ初心者なんで、、、、
探してみます。お勧めとかありませんか?

264:デフォルトの名無しさん
14/12/28 01:48:08.62 hWEKpKUx.net
馬鹿には無理

265:デフォルトの名無しさん
14/12/29 18:29:45.70 EuG97dxJ.net
>>256
馬鹿なりにいろいろ考えますた。
GoogleCLで何とかできそうです。

266:デフォルトの名無しさん
15/01/06 15:02:29.70 L0NjGint.net
AC2000くらいぶりに2013で作るんだが、変わりすぎてて困るなこれ

267:デフォルトの名無しさん
15/01/07 12:14:43.42 HwRBQ0K9.net
お前の頭が老化してるんだよ

268:デフォルトの名無しさん
15/01/08 11:57:49.05 3EyWpOD1.net
1)のデータの県名を元に、2)のように並べたいのですが、アクセスでやる方法はありますか?

1)
千葉 成田 空港
埼玉 秩父 蕎麦
埼玉 川越 イモ
栃木 日光 華厳
千葉 浦安 ネズミ
埼玉 秩父 三峯
栃木 日光 東照宮
栃木 宇都宮 餃子
千葉 館山 菜の花

 ↓
2)
千葉 成田 空港 館山 菜の花
埼玉 秩父 蕎麦 川越 イモ 秩父 三峯
栃木 日光 華厳 日光 東照宮 宇都宮 餃子

269:デフォルトの名無しさん
15/01/08 12:16:44.21 qIfkunGX.net
浦安とネズミーランドはどこに入れば良い?

270:デフォルトの名無しさん
15/01/08 13:16:48.72 3EyWpOD1.net
すいません。書き直します。


1)のデータの県名を元に、2)のように並べたいのですが、アクセスでやる方法はありますか?

1)
千葉 成田 空港
埼玉 秩父 蕎麦
埼玉 川越 イモ
栃木 日光 華厳
千葉 浦安 ネズミ
埼玉 秩父 三峯
栃木 日光 東照宮
栃木 宇都宮 餃子
千葉 館山 菜の花

 ↓
2)
千葉 成田 空港 館山 菜の花 浦安 ネズミ
埼玉 秩父 蕎麦 川越 イモ 秩父 三峯
栃木 日光 華厳 日光 東照宮 宇都宮 餃子

271:デフォルトの名無しさん
15/01/08 13:22:02.26 qIfkunGX.net
浦安とネズミーランドだけ順番入れ替える基準は?

272:デフォルトの名無しさん
15/01/08 16:12:11.95 qIfkunGX.net
出来たからおしまい
URLリンク(paiza.io)

273:デフォルトの名無しさん
15/01/09 08:12:06.75 rJhs2R4+.net
>>264
Runtime Errorがでました

274:デフォルトの名無しさん
15/01/09 12:46:37.92 Azg0g72t.net
>>262
横展開の数が固定なら
URLリンク(social.msdn.microsoft.com)

増減するならVBAでワークテーブルに入れていくしかないと思う

275:デフォルトの名無しさん
15/02/19 08:17:57.69 CSqQB465.net
質問です。
数万レコード程度のログファイルの集計(抽出)をしたいです。
抽出条件は、レコードに担当者と時刻が入っていて、
その時刻の+1分以上かつ+5分以下で、同じ担当者の物です。
最終的には、条件にあてはまるレコードの1つ目と2つ目以降という感じで並べたいです。
今はEXCELのCOUNTIFS関数で半分手作業でやってますが、
かなり手間なのでできればAccessVBAでやりたいです。
よろしくお願いします。

276:デフォルトの名無しさん
15/02/19 10:34:22.43 IO29hpKb.net
したいことは判りました。
次のかたどうぞ。

277:デフォルトの名無しさん
15/02/19 16:00:09.30 1peKWp+p.net
わからないなら黙ってろよアホか
で、vbaからcountifを呼び出せばいいんじゃね


278:えの? 思いついただけで試してないが



279:デフォルトの名無しさん
15/02/19 16:34:11.57 4dFHTBvU.net
>>267
VBAは必要ないでしょ。なにかその後バッチ処理をしてるっていう
なら別だが。
普通に該当のテーブルを元にクエリつくって、パラメータクエリを
作る。フォームを用意して、入力させてその値をパラメータとして
クエリの条件式に入れる。
1分以上5分以下という条件をbetween andで書いて2つパラメータ
を時刻のカラムに入れる。これで抽出は完了。SQLでやってもいい
んだがそこまでは必要ないでしょ。手軽にできるし。

280:デフォルトの名無しさん
15/02/25 19:46:25.88 u8BX93H2.net
定時で帰ってるのがばれるじゃないか

281:デフォルトの名無しさん
15/02/27 10:17:16.72 ILfHzu6L.net
>>271
密度が違いますと言い張れば大丈夫。

282:デフォルトの名無しさん
15/04/11 08:59:32.35 5EmI+Hzg.net
Excelファイルで(表現上CSVで表現してますが、XLSXファイルの1つのシート上のデータだと思ってください。)
999,999,AAA,999・・・・・・
999,999,BBB,999・・・・・・
999,C  ,999,999・・・・・・
999,999,DDD,999・・・・・・
という4件のデータがあるとします。
これを、SELECT * FROM のクエリをDao.Recordsetで読み込みたいのですが、
Fileds(1)のところのタイプは数値型。
ここで、3行目のデータを見に行くと、フィールドの型が数値型なのに「C」が入っているためRS.Fields(2).Valueを参照しようとすると異常終了してしまいます。
全部のフィールドを強制的に文字列型で見る方法はないのでしょうか?

283:デフォルトの名無しさん
15/04/11 09:00:28.88 5EmI+Hzg.net
RS.Fields(2).Value

RS.Fields(1).Value
に訂正。m(_ _)m

284:デフォルトの名無しさん
15/04/11 18:29:40.40 hFjl3X66.net
>>273
落ちる所のコードが無いから分からないけど
dim aaa as long
aaa=RS.Fields(1).Value
みたいな使い方しているなら
dim aaa as long
dim bbb as string
bbb=RS.Fields(1).Value
bbbを数値判定してから本来のaaaに取得
判定方法はIsNumericやCIntやCLngなど

285:デフォルトの名無しさん
15/04/13 17:40:35.62 gbfuHaFd.net
Access2013です。
いろいろと作っているうちに突然コントロールソースに持っているユーザー定義関数が働かなくなり、#NAMEのエラーが出る様になりました。
ファイルが壊れたのでしょうか?

286:デフォルトの名無しさん
15/04/13 18:03:17.07 gbfuHaFd.net
>>276
自己解決しました。
関数名を英数字のみにしたら動きました。
ただ、動かなくなったきっかけがわからない。

287:デフォルトの名無しさん
15/04/14 07:53:37.48 0HPBZIqn.net
>>277
そもそも関数名に日本語使うそのセンスを疑う

288:デフォルトの名無しさん
15/04/14 15:41:26.89 b8Z+Xie9.net
だってイベントプロシージャは日本語名で動くじゃん

289:デフォルトの名無しさん
15/04/14 19:08:51.74 hqkBvwrA.net
漢字カタカナを関数名にグイグイ使ってました。まあ今日も明日も使っちゃうんですが。

290:デフォルトの名無しさん
15/04/15 22:25:26.57 15xIuB57.net
IF文についてなのですが、
IIf(A = 0 Or B = 0 Or C = 0 And D = 0 ...
という書き方の場合、「Aが0」もしくは「Bが0」もしくは「Cが0、かつDも0」のいずれかの場合、
という条件判定になるという考え方で良いでしょうか?

291:デフォルトの名無しさん
15/04/16 08:12:50.91 gzgbYtwZ.net
>>281
一緒といえ�


292:ホ一緒ですがIF?IIF?どちらでしょう? > という書き方の場合、「Aが0」もしくは「Bが0」もしくは「Cが0、かつDも0」のいずれかの場合、 > という条件判定になるという考え方で良いでしょうか? そうですね ハッキリさせたい時には()でくくると分かり易くなりますよ こんな風に IIf((A = 0 Or B = 0) Or (C = 0 And D = 0), "true", "false") IFならモジュールにテスト用の関数作って確認できますし IIFならもっと簡単にクエリー等でテスト出来ますよ まずは試してみる事をオススメします



293:デフォルトの名無しさん
15/04/16 13:45:46.84 OCYKBdEo.net
>>282
ありがとうございます、安心しました

294:デフォルトの名無しさん
15/04/18 01:50:57.01 pucpWveX.net
ExcelVBAをほんの少しいじった程度ですが、同じことがAccessVBAでもできますか?
たぶんできたとして、データアクセスが目的ならExcelよりAccessのほうが早いのかな。

295:デフォルトの名無しさん
15/04/18 03:55:58.31 j/wjXDDU.net
WSH(VBScript, JScript), PowerShell からでも、
呼び出せるよ
Accessはデータベースだから、
Excelよりもデータの整合性は、より安全で、
何々明細とかを扱う、本格的な業務に適している

296:デフォルトの名無しさん
15/04/18 07:06:32.83 elh8iJrV.net
>>284
Excel にデータエクスポートして開いてピボット集計して保管してzipにしてメール添付して送信、とかExcelの外から出来る。

297:デフォルトの名無しさん
15/04/18 09:55:54.98 QuJhi9bL.net
エクセルの65535行制限って解けたんだっけ?

298:デフォルトの名無しさん
15/04/18 18:09:00.24 05gN+8sT.net
xlsxファイルからDAO.RecordSetでデータを取り込んでいます
dim A
Do Until Rs.EOF=True
For i=1 to 10
A=Rs.Fields(i).Value
InsertRS.Addnew
InsertRS.Fields(i).Value=Rs.Filds(i).Value
Next
Rs.MoveNext
Loop

のようにしてエクセルデータからデータベースに保存してます。
で、
A=Rs.Filds(i).Value
は無意味なコードなのですが、
これがないと保存がされません。
ワンクッション?が必要なようなんです。
これ、原因や同じような症状でた人いますか?

299:デフォルトの名無しさん
15/04/18 19:59:14.52 C1NhVGiv.net
それ以前にAddnewしてる位置がおかしい気がするんだが

300:デフォルトの名無しさん
15/04/18 21:20:04.66 05gN+8sT.net
書き間違えました。
実際は、Forのまえにaddnewしてnextのあとにupdateしてます。

301:デフォルトの名無しさん
15/04/19 02:01:53.14 WMQbPkw9.net
書き間違いとか実際のコードじゃないもの出されてもなぁ
お前の勘違いの可能性が圧倒的に高いと思うぞ

302:デフォルトの名無しさん
15/04/19 07:19:00.86 8d6tresr.net
事実、
ワンクッションのある無しで発生するんです。

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

304:デフォルトの名無しさん
15/04/20 08:09:04.77 ZV6mzr+5.net
>>287
ここ、Accessスレですよ。
それとGoogleで調べれば分かるような内容の質問はどこのスレでも
禁止です。頭に叩き込んでおくといいですよ。

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

306:デフォルトの名無しさん
15/05/14 12:50:18.83 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:デフォルトの名無しさん
15/05/16 10:31:05.05 s10/F9Sk.net
Accessって新しくなればなるほど、不安定化してない?
なんとなくだけど

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

310:デフォルトの名無しさん
15/05/16 14:09:51.76 /YqkcKmb.net
>>297
ど安定だと思ってた。難しい事しないからかもだけど。

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

312:デフォルトの名無しさん
15/05/16 22:55:57.30 xhmYU3Qu.net
>>297
俺の体感ではすくなくとも2007までは順調に安定化してるけど
それ以降は使ってないから知らん
>>300
/decompileっていつからあるんだろうな
昔は全オブジェクトを別mdbにエクスポートとか結構頻繁にやってた記憶が

313:デフォルトの名無しさん
15/05/17 10:45:41.40 vGSHuJcU.net
>>301
97くらいからはあったはず。
でも/decompileを使うようになったのは2003以降かなぁ?
むかしはmdbファイル丸ごと見事に壊れたから/decompileすら登場の出番が無く
今はVBAを入れるとスグ壊れるから/decompileが効力を発する機会が増えた
うーん・・・改善してるのかもなw
ただ開発をやっている人から見るとVBAをいじってる最中の異常終了が増えた
感じがするから不安定化しているように見えるのかも

314:デフォルトの名無しさん
15/05/22 21:24:51.38 zmoBF1Q0.net
[Forms]![コントロール名]......
のように使う
 !

 フォーム.プロパティ

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

315:デフォルトの名無しさん
15/05/22 21:51:36.82 yor6OqJo.net
/decompile 知らなかった。

316:デフォルトの名無しさん
15/05/23 12:42:53.54 J5W2ethN.net
俺もだよ
>>303
それも知らないねぇ。
ただ、外部モジュールから参照するときは ! でないとダメなんじゃなかったかな。違ったかもしれん。

317:デフォルトの名無しさん
15/05/23 12:45:03.86 J5W2ethN.net
モジュールって何やねん
オブジェクトやオブジェクト

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

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

320:デフォルトの名無しさん
15/05/27 08:05:22.83 lvaBWQ33.net
>>308
コレクションの要素の意味が分からん。

321:デフォルトの名無しさん
15/05/27 14:12:01.89 5bPXfDHX.net
>>309
コレクションの意味がわからんのか?
要素の意味がわからんのか?
簡単に言えば、複数のうちのどれか ってことだが
何が複数なのかは!の前のやつによって違う
Formsはまさにフォームのコレクション
個別のフォームならControlsが既定コレクション
レコードセットだとフィールドが既定のコレクション

322:デフォルトの名無しさん
15/05/27 21:13:26.76 GAmiGWam.net
これっくしょんのっ♪ おべんっとばっこにっ♪

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

324:デフォルトの名無しさん
15/05/27 22:54:50.76 XhKCRfpS.net
「!」を「.」では動かないでしょ?

325:デフォルトの名無しさん
15/05/27 22:59:28.17 ZDZjEVN6.net
対応したプロパティに書き換えて使ってます

326:デフォルトの名無しさん
15/05/27 23:07:04.59 XhKCRfpS.net
ふ~ん、そうなの
(どゆことかわかってないが)

327:デフォルトの名無しさん
15/05/28 10:07:42.72 /8nOg4qQ.net
クラスのメソッドと
オブジェクトのメンバの違いっしょ

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

329:デフォルトの名無しさん
15/05/28 13:25:09.01 /8nOg4qQ.net
馬鹿には無理

330:デフォルトの名無しさん
15/05/28 18:22:57.95 C/2xaBAg.net
>>315
a = [Forms]![f2]![combobox1].Value
a = Forms("f2").Controls("combobox1").Value
他フォームの値を利用する場合等は、こんな感じで書いてます
個人的にコレクション名が入った方が分かり易いのでこうしています
どちらの書き方が良いとか悪い、というのは無いので書く人次第ですね

331:デフォルトの名無しさん
15/05/28 21:06:14.54 bDSn3nA4.net
ほほう、勉強になります。

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

333: 【豚】
15/06/01 08:08:03.93 SmEysG22.net
びっくりおみくじ

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

335:デフォルトの名無しさん
15/06/11 14:05:13.01 cKv7S2xh.net
フォーム内のテキストボックスで教えてください。
テキストボックスに値を入れるために選択すると、0が表示されます。
空白の状態から値を入力できるようにするには、どこの設定を変えれば良いのでしょう?

336:デフォルトの名無しさん
15/06/11 14:06:45.16 cKv7S2xh.net
>>324は非連結のテキストボックスの場合です。

337:デフォルトの名無しさん
15/06/11 14:16:53.77 cKv7S2xh.net
>>324は解決しました。
フォームオープン時にVBAで0を設定していました。
他人のソースだったので気がつきませんでした。
スレ汚し失礼いたしました。

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

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

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

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

342:デフォルトの名無しさん
15/07/01 22:29:02.00 r6P8NuLo.net
>>330←納品だの客だの何言ってんのこのバカ?

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

344:デフォルトの名無しさん
15/07/02 15:10:49.63 2kk3aD1Z.net
ツボったω

345:デフォルトの名無しさん
15/07/02 21:31:36.86 UqhUXHzI.net
俺もしょっぱい2号

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

347:デフォルトの名無しさん
15/07/17 12:20:42.38 7dLfVbOx.net
>>335
リレーションって、工数入力テーブルのテーブルレイアウト決まってるのか?
まあ、プロジェクト番号と担当者で参照するだけなんだけど
そのプロジェクトのテーブル含めて、DB設計もうちょっとちゃんと勉強した方が良いんじゃね

348:デフォルトの名無しさん
15/07/27 17:54:56.83 cZFieeE


349:U.net



350:デフォルトの名無しさん
15/07/27 20:40:40.78 n6WPrg6a.net
押してもダメなら・・・

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

352:デフォルトの名無しさん
15/07/27 21:30:17.92 FqSPmPlY.net
やっぱみんな同じ現象に悩まされてるんだね
ネットワーク共有フォルダ上だと起きやすい
ネットワーク共有フォルダ使わなきゃいいんだけど、うちの情シスが変な縛りかけるからコレしか手がないし

353:デフォルトの名無しさん
15/07/27 23:01:15.51 vqEIRiU+.net
ソースコードは、単なるテキストデータだろ?
それが開けないのは、
そのデバイスがバックアップ・メンテナンス中などで、
ロックされているのかも

354:デフォルトの名無しさん
15/07/28 01:08:06.50 /CfsPtPn.net
壊している方は
ネットワーク上で直接開いたり
mdbをフロントとDBに別けなかったり
ほとんど同じパターンですよね
>>341
Accessを使われていない方とお見かけしました
mdbが破損するとソースも壊れる事があります

355:デフォルトの名無しさん
15/08/01 02:11:12.48 Gxa4R9yG.net
Access2010利用
Access起動時の「コンテンツを有効化にする」を押下した直後に、関数を実行する方法はあるのでしょうか?
現在は「AutoExec」マクロから「プロシージャの実行」を行い、対象の関数を実行させていますが、Access起動時の「コンテンツを有効化にする」を押下する前にマクロが実行され、プロシージャが実行出来ない旨のエラーメッセージが表示されてしまいます。
ExcelのAuto_Open関数は「コンテンツを有効化にする」押下後に、処理が始まっていたので、それをAccessでそれを実現したいと思っています。
処理内容は「Accessウィンドウの不可視化
」「メニューバーの不可視化」「対象のフォームを開く」です。
どうかご教授をお願いいたします。

356:デフォルトの名無しさん
15/08/01 05:30:07.04 fplyMpww.net
>>343
>処理内容は「Accessウィンドウの不可視化
>」「メニューバーの不可視化」「対象のフォームを開く」です。
それ全部マクロなしで設定でできる気がするけど
スタートアップ用のフォーム作って起動時指定して、そのフォームのプロシジャで設定してやれば良いんじゃね

357:デフォルトの名無しさん
15/08/01 23:31:54.27 Gxa4R9yG.net
>>344
ありがとうございます
確かにマクロを使用せずに設定出来ました
更にFormLoadを利用したところ「コンテンツを有効化にする」押下後に動作しました
今まで業務ではExcelばかり利用していましたので、Accessのオプションの多さ、分かりづらさ(自身の無知に起因する事が多いですが…)に戸惑っています
Accessを使いこなせる人は本当にすごいと思いました

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

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

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

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

362:デフォルトの名無しさん
15/08/02 11:42:54.62 GsLj6RLA.net
×:Access感を感じさせないUIにする事も簡単でしたら
○:Access感を感じさせないUIにする事も簡単でした

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

364:デフォルトの名無しさん
15/08/02 12:37:07.35 Uy/1MbzZ.net
両者のVBAはデフォルトの参照設定が違うだけですよ
VBA以外は言われている通りAccessの方がはるかに強力ですね
Excelはユーザーフォームくらいです
特殊なレポート印刷なんかは無理してAccessでゴリゴリ書くより
Excelで書式作ってAccessから流した込んだ方が楽だし
データ操作ならAccessじゃないとキツイし
それぞれ得意分野はありますよね

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

366:デフォルトの名無しさん
15/08/02 22:38:28.30 ZRhH79SV.net
>>353
それはアプリケーション側ではなんとも出来ないので

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

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

369:デフォルトの名無しさん
15/08/03 13:29:01.86 cMN9HbGV.net
>>355
アプリケーションが自分自身の信頼性を操作するのか
そんなアプリこそ信用できんわ
>>356
べつにネットワーク上に限った話ではないと思うが

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

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

372:デフォルトの名無しさん
15/08/03 20:41:54.56 CU261QGz.net
その域じゃ無いことが判ったからいいよw その域じゃない奴に諭される謂れわ無いわw
いくつかのキー・ワードで「あぁ、あのことか」って気付けないならこれ以上は時間の無駄  おまえの言うとおりでいいよw
そもそもここはAccessの板だし、おれはAccessの話をしてるんだ アプリケーションのアの字も使って無ぇw
よしんばAccessで作られた業務パッケージをアプリと呼びたいなら呼べばいいが、その業務アプリを動作させるうえで
発生するセキュアに関するメッセージはAccessの基本機能で回避できる って云ってるんだ
それを「信用できねえ」っつーんなら使わなくていいんじゃね? 世の中にはごまんと同様の機能を備えたアプリケーションが存在するだろ
Accessに拘る理由なんざこれっぱかしも無ぇだろ 俺の文章のどれがおまえの琴線に触れたか知ったこっちゃ無いが 「ごめんな」

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

374:デフォルトの名無しさん
15/08/03 22:23:38.07 C0QRYaFQ.net
runtime 2010(2013も同じ)の起動時のセキュリティ警告を出ないようにする
URLリンク(www.mkkobo.com)

375:デフォルトの名無しさん
15/08/04 03:50:55.73 Kz/6+HRH.net
>>343で質問した者です
細かい利用環境等を書いてなかった事で迷惑をかけました
ごめんなさい
会社独自で開発したと思われる共有サーバシステム上に、accdbを置いて利用者は「読み取り専用」で利用します。(accdeは共有サーバ上では起動できません。)
なので、Access内で設定出来るオプション以外は全く自由がきかず、共有サーバ上でaccdbを開くと必ず「コンテンツを有効化にする」ボタンが表示されてしまうのです
今回の問題自体は、FormLoad関数をExcelで言うAutoOpen代わりに使う事で解決出来たと思っています
しかしAccessって、Web上で資料を探すにしても、資料が豊富なExeclVBAに比べてAccessVBAは資料が少なく、更にバージョンによって仕様が大きく変わるので大変ですね
このスレのやり取りを見ているだけで非常に勉強になります
ありがとうございます

376:デフォルトの名無しさん
15/08/04 04:09:40.86 JacjvlNa.net
>>363
ファイル共有のプロトコルとかによって制約あるかもしれんが
共有フォルダを信頼できる場所に追加する事は可能だぞ
ただ信頼されてないaccdb(のVBA)から、信頼できる場所を設定とか出来ないし
そんなことができたら信頼できる場所の意味がないからな

377:デフォルトの名無しさん
15/08/05 15:51:27.89 dmHYZv4f.net
利用環境:Access2010、Win7
現在、国内の物件情報をテーブルに入力して、出力フォームで参照出来るようにしています
テーブルのフィールドは「物件No(主キー)」「物件名」「県」「市」「区」「町」「番地」「物件情報」です
新しいレコードが増えた場合は、入力フォームから、データを入力出来るようにしようと思っています
ここでお聞きしたいのは、入力フォームで新しいレコードを登録しようとした際の「重複チェックの方法」です
物件名は、入手先の情報や、入力者の考えによって
様々な表記ゆれが生じます(例:2棟 二棟 ②棟 Ⅱ棟)
入力規則を設ける事によってある程度は回避できると思いますが、
回避が難しいケース(例:ライオンズマンション Lionsマンション Lion'sMansion)の場合は
みなさんはどうやって重複チェックを行っているのでしょうか?
自身で考えた所では、入力フォームで新たなレコードを登録する際に、
似ている物件名があった場合は、お互いのレコードで「県」「市」「区」「町」の重複チェックを行い、最終的にユーザーに「似ている物件がありますが、これとは別の物件ですか?」と警告を出そうと思っています
そうする場合は、「フリガナ」フィールドを追加する必要があると思っています
しかし、もっとスマートな方法があるのではないかと思い、ここで質問させていただきました
よろしくお願いします

378:デフォルトの名無しさん
15/08/05 16:57:05.93 Bc8ICzH9.net
>>365
挙げられてますが、半角数字のみなど番地の入力制限は必須でしょうね
物件名のフリガナで番地違いもチェックされるみたいですし
十分スマートだと思いますよ
自分だったら番地まで一致した時にアラート出しますね
残りは住所or物件名でソートした物件リストに丸投げしちゃいます

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

380:デフォルトの名無しさん
15/08/05 17:23:47.23 ndgPjsPh.net
なんで郵便番号のフィールドがないのか不思議

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


382:51 下六桁あたりで固定すれば 間違いようも無いだろ 不動産業界に身を置きながらなんでそんなことにも気付かない マップアプリに上の数字コピペしてみりゃ、世界中の誰だって間違いようも無い なに? じゃあ緯度・経度どうやって調べるだと? そのぐらいじぶんで調べろ 長押しするだけだ まぁ、ゆえに危険が危ないがな  便利って物はとてつもなく不便なものにも等しいんだ 覚悟して使え 雌阿寒岳山頂が出るはずなんですけど、違う位置を示すマップアプリ有ったら教えてください 使用禁止にしますので



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

384:デフォルトの名無しさん
15/08/06 01:30:34.87 f5x8JVe4.net
すみません、郵便番号のフィールドもあります。入力し忘れていました
・1.レコード入力時に、住所関連のフィールドを利用して重複チェックを行い、ヒットした場合は警告を出す
・2.定期的にテーブル内のレコードの重複チェックをする
・3.物件の座標を利用して重複チェックをする
上記3つの案をいただいたと思いますので
1と2を組み合わせて運用したいと考えます
3の案>>369は、完全に自身の頭に無かったアイデアなので驚きました
入力者の稼働を考えて、負担にならなければ導入してみようと思います
たくさんのレスをいただき、心から感謝致します
受けた恩を忘れず、このスレに来た別の質問者の力になれるよう精進します

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

386:デフォルトの名無しさん
15/08/07 12:16:55.68 TsVm0Bt4.net
人名・地名、固有名詞系はなあ 特殊と考えたほうが無難だからな  例えば・・
吾妻 という人名のふりがなを ある人は「あづま」と入れ別の人は「あずま」と入れてしまったり
じつは「あがつま」と読みます だったり
3-11-22 という地番を三丁目11番22号 三丁目11-22だの、 宛名印刷に合わせて三丁目十一番二十二号としていたり・・
それが結構な確率で頻出するのだからやっかい
それらを一律の規律で縛るのはあまりクレバーとは言えない時代になってるような
鱸 が読めないゆとりのためには「ふりがな」が必要 ってのなら意義あるだろうけど  まあ、おれだけど

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

388:デフォルトの名無しさん
15/08/11 23:34:57.56 AWvgSxoB.net
>>374
フォームモジュールでそのフォームのプロパティならな

389:デフォルトの名無しさん
15/08/12 14:59:32.42 G2C7HV6B.net
皆様、すみません
フォームAに入力されているテキストボックスAの値(数値)を、
フォームB(データ登録用)を開いた際に自動的にテキストボックスBに入力させないのですが、どうしてもわかりません
openform ~ , , , , acforma


390:dd で記述しています 教えていただけないでしょうか



391:デフォルトの名無しさん
15/08/12 15:32:18.52 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:デフォルトの名無しさん
15/08/12 16:26:57.95 G2C7HV6B.net
>>377
あっさりとできました
ありがとうございました
たしかにformのイベントでやるべきでしたね、思い付かなかったです
勉強になりました

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

394:デフォルトの名無しさん
15/08/17 21:45:03.07 7VERYxcQ.net
今使っているACCESSデータをPC3台で共有しようと思っています。
その場合、テーブルをサーバーPcに、フォームとクエリをクライアントPCに入れて使うと良いとのことでした。
ただいま、フォームを非連結にして、ADOでの追加や更新ができるように変更中です。
質問ですが、
すべてのフォームを非連結にするべきなのでしょうか?
データの追加更新のない、閲覧専用のフォームをネットワークトラフィックを考えて変更すべきでしょうか?
また、分割したテーブルのあるACCESSデータをNASに入れようかとも思っているのですが、PCの場合と動作に違いはでますか?(ここは単にスペックの問題でしょうか?)
どうかお時間のあるかた、教えていただけないでしょうか。

395:デフォルトの名無しさん
15/08/18 01:04:22.51 l45kMI9F.net
テーブルを外部からリンクすれば連結でいける

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

397:デフォルトの名無しさん
15/08/18 19:55:28.61 LTr8/sln.net
>>381
>>382
ありがとうございます
今まで作ったフォームをすべて非連結にするのは難しそうなので追加更新するフォームだけにしようと思います。

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

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

400:デフォルトの名無しさん
15/09/09 20:14:57.09 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:デフォルトの名無しさん
15/09/10 04:22:41.07 t/YL/t1I.net
>>386
>地道な方法しかないんでしょうか?
地道に見えるんですね・・・。
DoCmd.TransferSpreadSheet
で、ググると
URLリンク(msdn.microsoft.com)
なるページが出てきまして、そこに・・・
「インポートする際にいちいちエクセルで開いておく必要」
なんて書いてありませんでしたよ?

402:デフォルトの名無しさん
2015/09/11


403:(金) 00:19:59.73 ID:8grThG6x.net



404:386
15/09/11 19:59:14.96 pqg3O3xw.net
>>388
SQLがなんとか分かってきたので、今度やってみたいと思います。
ありがとうございました。

405:デフォルトの名無しさん
15/09/11 21:45:17.29 HscreZA4.net
>>389
TransferSpreadSheetsもう少しがんばれ。
簡単で早いと思うよ。
387さんも言ってるけどEXCEL開く必要は無い。何ならEXCELがインストールされて無くてもインポートやリンクが可能なはず。

406:デフォルトの名無しさん
15/09/27 15:21:36.68 Az8/vHuw.net
質問させてください。
コマンドボタンをクリックしたら、フォーム上の任意の位置にコンボボックスを新規作成させたいんですが、こんな事出来ますか?

407:デフォルトの名無しさん
15/09/27 15:37:46.84 nsZcbsgt.net
似たようなことしたかったときはメニューで代用したな

408:デフォルトの名無しさん
15/09/27 15:41:04.97 Az8/vHuw.net
>>392
詳しく

409:デフォルトの名無しさん
15/09/27 15:41:50.47 nsZcbsgt.net
右クリックでコンテキストのpopupメニューだったかな

410:デフォルトの名無しさん
15/09/27 15:55:30.30 Az8/vHuw.net
>>394
ありがとう
けど、求めてる者と違う感じです…

411:デフォルトの名無しさん
15/09/27 15:59:22.69 uZJD7NWm.net
ACCESSでフォームに直接新規で追加するのは難しい
非表示にしといてボタンクリックで表示させればいいんじゃないか

412:デフォルトの名無しさん
15/09/27 18:24:32.94 sF3uHAKT.net
やぱ難しいですか…
必要に応じて、数に上限定めずコンボボックスを増やしたいので、表示/非表示の方法は望ましくないんです…
仮に無理なら…
質問を変えて、1フォーム中にコンボボックスはいくつまで設置出来ますか?
↑ググれば出そうですが、ついで質問ですいません。

413:デフォルトの名無しさん
15/09/27 19:09:24.48 nTKThYNU.net
好きなだけ作ったらええねん

414:デフォルトの名無しさん
15/09/27 19:18:33.43 sF3uHAKT.net
むむぅ…
違う方法を模索してみます。

415:デフォルトの名無しさん
15/09/27 19:30:00.48 uZJD7NWm.net
じゃあフォームかサブフォームで帳票フォームにして詳細セクションにコンボ配置すればいいんじゃね
それ以外で不定数のコンボ欲しいとか言うなら設計がおかしすぎる

416:デフォルトの名無しさん
15/09/27 21:13:46.60 sF3uHAKT.net
帳票フォームにコンボボックス設置したら、そこで変更した内容が全部のコンボボックスに反映されるじゃん?それは困る

417:デフォルトの名無しさん
15/09/27 22:14:17.55 uZJD7NWm.net
ちょっと言ってる意味が分からない
あるレコードのコンボボックスの値が、他のレコードの値に影響すると?

418:デフォルトの名無しさん
15/09/27 23:58:41.76 Wa2IEO89.net
最初の構想としては
データが存在するフィールドにコンボボックスを表示させて、それぞれに別々のデータを入れて、新しいテーブルを生成したかった。
説明下手ですいません。

419:デフォルトの名無しさん
15/09/28 10:36:51.52 0RjOK4Zp.net
設計がおかしい
もしくは
Accessを使うべきではない

420:391
15/09/28 10:50:56.86 08kJukTg.net
設計し直します

421:デフォルトの名無しさん
15/09/28 11:18:27.64 65OblfGI.net
>>405
最終的な目的というか、なにをするためにこういった機能が欲しいのか
わからない。
>データが存在するフィールドにコンボボックスを表示させて、
ここまでは何となくわかる。
フィールドのルックアップをコンボボックスにすることはできる。
ただ、あるフィールドをこのレコードはテキストボックス、
そのレコードではコンボボックスってのはできない。
どっちも似たようなものだけどねw
>それぞれに別々のデータを入れて、新しいテーブルを生成したかった。
これがわからない。それぞれにってなんぞ?
フィールドにデータが入力された、そのテーブルのコピーって。。。作れるよね?

422:391
15/09/28 20:06:23.90 cvdri0js.net
ホント説明下手で申し訳ない
写真を付けてみた
・作業用テーブルAで帳票フォーム作る
・(出来ない所その1)フィールド上にデータがあるレコードにだけコンボボックスを表示させたい。
・(出来ない所その2)コンボボックスにデータを入力すると、他レコードにも同内容が入力される。←違うデータを入れた


423:い http://i.imgur.com/hdHud4y.jpg http://i.imgur.com/KDmSreu.jpg



424:デフォルトの名無しさん
15/09/28 21:48:54.09 hW3kfusx.net
両方無理だね。

425:デフォルトの名無しさん
15/09/28 21:53:23.92 65OblfGI.net
>>407
いろいろ試したけど、コンボボックスのvisibleのプロパティを
帳票フォームの詳細のpaintイベントで操作できないので無理かなと。
背景色は変えられるみたいだから、コンボボックス全部並べて
背景色で区別できるようにするくらいしかできないかも。
書かれている通りの物が欲しいのであれば、.Netで作るしかないかなぁと。

426:391
15/09/28 22:16:45.56 XnIORDmB.net
やぱ無理ですよね
諦めて違う方法を考えます

427:デフォルトの名無しさん
15/09/29 03:32:01.48 FcuCREbJ.net
コンボボックスには何を表示/入力させたいんだ?
すくなくとも その2 はできるはずだと思うが

428:デフォルトの名無しさん
15/09/29 03:32:38.44 FcuCREbJ.net
コンボボックスには何を表示/入力させたいんだ?
すくなくとも その2 はできるはずだと思うが

429:デフォルトの名無しさん
15/09/29 12:52:55.08 12O/9Fge.net
ひとつのフォームにひとつのコンボボックスのフォームをフィールド分作って
OpenしたりCloseしたりすればいいんじゃない?
フォームの表示位置は指定できるんだし、作り込めばカッコよくなりそう(俺はやらないけど)

430:デフォルトの名無しさん
15/10/07 12:00:19.12 qdqRCjiZ.net
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点

431:391
15/10/09 20:00:26.30 7kbTW2jS.net
結構前に質問した者だけど
設計変更して、無事にアプリが完成しました
色々アドバイスくれた人サンキューでした

432:デフォルトの名無しさん
15/10/10 08:45:04.70 7MsZxkaP.net
>>415
わからんけど、良かったね

433:デフォルトの名無しさん
15/10/10 12:55:30.31 /egW/Cb1.net
事後報告なんて珍しい

434:デフォルトの名無しさん
15/10/11 15:34:31.54 hlB+t7r4.net
質問です
現在Accessでチェックシートを作成しています。
内容は以下の通りです。
・目的:接客の際の必須項目の聞き取り漏れ、説明漏れを防ぐ
・仕様の概要:必須項目の各チェックボックスにチェックが入っていなければ各チェックボックスの背景を赤塗り
チェックが入っていれば緑塗り
注意が必要な組み合わせにチェックをした際に警告メッセージを出す等の、相関チェックを導入
フォームで入力した値はテーブルに格納。
対応1件につき、1レコード。
・環境:win7 access2010

上記仕様のチェックシートをAccessのフォームで作成していますが、
別のレコードに移動するとチェックボックスの色が
画面遷移前のレコードの色のままになってしまいます。
レコードを移動する度に、移動先のフィールドの値に
適した色に変えたいと思っています。
自身の考えでは、レコード移動をする度に、移動後のレコードの
チェックボックスの値を取得。
値に適した色に変更と考えていますが
Access標準装備の機能等で、
もっとスマートな方法があるのではないかと思ったので、ここに質問に来ました
皆様のお知恵をお貸しください
どうかよろしくお願い致します

435:デフォルトの名無しさん
15/10/11 15:52:31.22 K+nxBSBI.net
条件付き書式って機能があるけど、2007で試したら、チェックボックスには適用できないっぽいな
>別のレコードに移動するとチェックボックスの色が
>画面遷移前のレコードの色のままになってしまいます
今どうやってやってるんだ?

436:デフォルトの名無しさん
15/10/11 18:00:58.67 hlB+t7r4.net
>>419
今は下記のようにコントロールの背景色を変えています
Checkboxの初期背景色はコントロールのプロパティで赤を選択しています
private sub Checkbox1_Click()
If Checkbox.Value = True then
Checkbox1.Backcolor = 緑
Else
Checkbox1.Backcolor = 赤
End If
End Sub

437:デフォルトの名無しさん
15/10/11 20:33:04.19 K+nxBSBI.net
>>420
基本的には同じ事をレコード移動時にやるだけだな
ところで2007のCheckboxにはBackcolorとか無いっぽいけど、2010じゃあるのか

438:デフォルトの名無しさん
15/10/11 20:57:15.41 0pbjHxf6.net
>>421
でもこれだとレコード移動時に、反映されないんですよね
1.リアルタイムで色を変えるコード
2.レコード移動時に色を変えるコード
2倍のコーディングが必要になる点がスマートじゃないと思ってます
今更ですが「全相関チェック(警告メッセージ含む) & 全チェックボックスの色変更」の
判定を行うサブルーチンを1つ作り、
「レコード移動時」「チェックボックスのチェック時」のイベントで
都度サブルーチンを呼び出しすれば
結構スマートになるのかな?と思いました
ただ、チェックをする度にサブルーチンが実行され、
関係の無い箇所まで判定されてしまうと
チェックボックスの数次第で重くなる可能性がありますね
また、相関チェック(メッセージ有)に引っかかる組み合わせになっていると、
関係のないチェックをした際にも
メッセージが出てしまうので、操作性が損なわれてしまいますね

439:デフォルトの名無しさん
15/10/11 21:10:04.23 h/UXEdKw.net
>>421
条件付き書式はダメなのかと思い、一応調べてみたら下記サイトにあるように利用出来るかもしれません
条件付き書式で実装した方が
メンテナンス性も上がるので、一旦条件付き書式でやってみようと思います
URLリンク(hamachan.info)
URLリンク(m.chiebukuro.yahoo.co.jp)
Excelでは、条件付き書式を多用していたんですが、
今回は何故かその考えが完全に抜けてました
お教えくださり本当にありがとうございます

440:デフォルトの名無しさん
15/10/11 21:20:09.79 K+nxBSBI.net
入力不可能なテキストボックスをチェックボックスの下に配置して条件付き書式設定とか
まあ、やりようはあるんだが
条件付き書式は、コード見てもプロパティ見てもその設定が分からんからなぁ
個人的には好きではない

441:デフォルトの名無しさん
15/10/11 22:42:29.78 h/UXEdKw.net
>>424
仰る通り確かに、他者の事を考えると
条件付き書式だらけになってしまうってのも考える物ですね…
悩ましいです

442:デフォルトの名無しさん
15/10/11 23:16:40.32 OogdFVxU.net
男のくせに「悩ましい」とか使う奴の言動は一切信用しないことにしている
これっぱかしもだ 微塵もだ 毛一厘もだ  うじゃじゃけてるヒマあったら答え出せ
できるのか? できないのか? できないなら去れ できるなら結果出せ 以上

443:デフォルトの名無しさん
15/10/12 00:54:54.91 7l73laAr.net
>>426
>男のくせに
単純に疑問です。何を根拠にして男と判断したのでしょうか?

444:デフォルトの名無しさん
15/10/13 21:07:29.45 iGPs38vk.net
VBAじゃないんだが助けてくれ~。Access を複数人で使用する時について質問させて下さい。
テストのために、Access(2010)でこういう簡単なシステムを作りました。
  バックエンド 2フィールド/レコードが数レコードだけあるテーブルが1つ
  フロントエンド リンクテーブルと、そのテーブルの全フィールドを表示するクエリ
          (クエリのレコードロックプロパティ:編集済みレコード)
  ※ 全 accdb ファイルについて、オプションから
   「共有モード」「編集済みレコード」レコードレベルでロックして開く」を指定済み
でさて、フロントエンドA・Bを開き、Aがレコードを編集する時に、
よく解らないきっかけでBのほうで複数レコードに渡ってロックされる事態になり
(これは全レコードの時もあるし、1行より多く全レコードより少ない時もあります)、
またよく解らないきっかけでその事態が解消されることがあるのに気づいたのですが、
この異常事態の原因は何で、対策はどうすればいいでしょうか?
検索しても手持ちの書籍でも解らずお手上げでして、



445:なたかご助言を下さればありがたいです。



446:デフォルトの名無しさん
15/10/13 22:09:39.22 v0mnZW8d.net
>>428
それがわからないなら、諦めろ。
外注に出そうな。

447:デフォルトの名無しさん
15/10/14 02:52:15.27 EFTour7u.net
良くわからないきっかけとやらを特定する
エスパーを探す
お好きな方で

448:デフォルトの名無しさん
15/10/14 06:55:27.52 fbrLImlI.net
428ですが先輩の皆様非常に手厳しいですね
何とか自分で特定できました おじゃましました

449:デフォルトの名無しさん
15/10/14 11:31:57.79 EGTHNy+H.net
自分で解決できるなら質問しないでください
うざいだけです

450:デフォルトの名無しさん
15/10/14 19:36:39.06 Wlh7M+gV.net
解決した結果というか原因を書いておけば、後輩が喜ぶよ。

451:デフォルトの名無しさん
15/10/17 08:19:31.95 P+NFgFW2.net
Accessなんて俺以外は誰も使ってないよね。

452:デフォルトの名無しさん
15/10/17 19:12:33.45 ee0s4Mox.net
>>434
俺は使ってるぞ!
ちょっと癖はあるがAccess最強伝説は不滅さ!
ただし小さいシステムに限る。。。。

453:デフォルトの名無しさん
15/10/18 06:40:13.96 262pAAoP.net
MSDEとかSQL Serverと組み合わせれば少しはレベルが上がりますかね?

454:デフォルトの名無しさん
15/10/18 07:25:07.68 cUqtHutT.net
>>436
いまそこまでするならWebで使えるようなスキルを身につけてしまう事も考えちゃいますね。。。。phpとかいい感じに枯れてきてるよう思います

455:デフォルトの名無しさん
15/10/18 11:01:28.83 vJDQVwJW.net
access + django 試したら意外といけた

456:デフォルトの名無しさん
15/10/18 16:38:41.44 cUqtHutT.net
>>438
少しだけkwsk
Pythonのフレームワークだよね?

457:デフォルトの名無しさん
15/10/18 17:07:54.47 Vpke6UWK.net
今からweb連携て
php覚える前に俺のいろいろが枯れてるのを何とかしてくれ

458:デフォルトの名無しさん
15/10/18 17:18:09.60 81sora9Q.net
ウェブアプリよりネイティブアプリだよね

459:デフォルトの名無しさん
15/10/18 18:00:30.34 cUqtHutT.net
>>441
いやーWebでしょう。
限られた環境ならネイティブアプリでもいいんでしょうけど。。
どこまで広げるかによるけどね。
入力はネイティブ、閲覧はWebという感じに住み分けるのも
いいのかもしれない。

460:デフォルトの名無しさん
15/10/18 18:19:24.53 81sora9Q.net
>>442
>入力はネイティブ、閲覧はWeb
そうそう
それそれ

461:デフォルトの名無しさん
15/10/23 20:11:11.99 YF5Y/5+5.net
カラムの中で、空白の場合は、空白でない上のデータもってくるってクエリを作りたいのですが、どのようにすればできますか?
Excelでは可能なのですが、百万件以上のテーブルのためできません。

462:デフォルトの名無しさん
15/10/24 04:28:16.14 dOe1BR+K.net
>>444
原則としてRDBのテーブルの行に、上とか下とか順序はないんだが
頑張ればSQL(クエリ)だけで出来なくもないけど、簡単なVBAマクロ作って流せばいいんじゃね

463:デフォルトの名無しさん
15/10/24 12:14:04.67 niXzNvfm.net
ソート後の順序で真上のレコードっていう条件が必要だろう

464:デフォルトの名無しさん
15/10/24 17:03:31.97 XMDiNwuL.net
>>443
マイクロソフトさんこんな需要がありますよー
アクセスこれからも面倒見てね

465:デフォルトの名無しさん
15/10/24 18:35:34.63 niXzNvfm.net
FileMakerでも出来ること

466:デフォルトの名無しさん
15/10/24 20:02:10.36 pancXijC.net
>>447
MySQLに接続して閲覧側はウェブでAccess側は入出力側で実現。
でも、MSはAccessはいずれ亡くすと思うよ。年々需要が減ってる

467:デフォルトの名無しさん
15/10/24 21:31:19.29 XMDiNwuL.net
LightSwitchってその後どうなったのかな?

468:デフォルトの名無しさん
15/10/25 21:29:15.26 3h+48Nx8.net
>>450
殆ど消えたも同然の状態。

469:デフォルトの名無しさん
2015/10/26


470:(月) 20:56:01.66 ID:GrJVc3nW.net



471:デフォルトの名無しさん
15/10/27 02:06:01.33 P3tmhbiJ.net
ない

472:デフォルトの名無しさん
15/10/27 06:08:45.26 aDjshOL6.net
だから無くなると困るんだよなあ

473:デフォルトの名無しさん
15/10/27 08:16:54.33 O948v5f3.net
Filemakerとどっちがいいの
わりとまじで質問

474:デフォルトの名無しさん
15/10/27 09:01:30.38 NzV7E0Ep.net
どっちもどっちだろうな。
バックエンドにもよるだろうけど、いつも使ってる方とか得意な方で開発するだろ。
指定があるときはそれに従うだけだから比べなくていい。
FileMakerはiPadなんかで使えるっていうのがウリみたいだけど。

475:デフォルトの名無しさん
15/10/27 22:44:31.91 UL6Q2dpz.net
Accessのほうが情報は手に入れやすいんじゃない?

476:デフォルトの名無しさん
15/10/28 18:34:43.87 tdXqh+ol.net
それは言える

477:デフォルトの名無しさん
15/10/28 22:29:42.64 mlOdASO2.net
結局のところAccessが担当してた部分ってETLツールに置き換えられてきてるってことかな?入力は除いてだけど。

478:デフォルトの名無しさん
15/10/29 10:20:50.66 olmk/SiV.net
何が結局のところだよ
ETL言いたいだけちゃうんかと
そもそもAccessでビッグデータなんか扱えくぇrちゅいおpsdfg

479:デフォルトの名無しさん
15/10/29 23:09:13.90 yeCeSffg.net
>>459
h?

480:デフォルトの名無しさん
15/10/29 23:46:52.13 +ZsDxL5P.net
Forguncyに流れちゃった人いる?

481:デフォルトの名無しさん
15/10/29 23:50:41.92 +ZsDxL5P.net
>>460
人それぞれだと思うが、おいらの使い方ならビックじゃないデータでもETLは結構いい選択肢だと思たあるよ
定形業務にはいいんじゃないか?

482:デフォルトの名無しさん
15/10/30 15:53:29.13 ijicNSnW.net
あるレポートが、あるクエリを元に作成されていて、そのクエリのレコード毎に、レポートをPDF出力し、出力先はまた別のクエリのフルパス文字内との元クエリデータとの一致で決めたいのですが、ご教示いただけないでしょうか?

483:デフォルトの名無しさん
15/10/30 15:57:13.83 o6oPjLK7.net
>>464
どこまで出来てて何がわからんのだ?

484:デフォルトの名無しさん
15/10/30 19:35:33.54 Y9M2GM2T.net
>>465
レポートをレコード毎にPDF出力して、クエリにあるパスに保存するところ

485:デフォルトの名無しさん
15/10/31 02:10:26.31 CVsb3S4r.net
どこまで出来てるんだ

486:デフォルトの名無しさん
15/10/31 03:08:21.25 CVsb3S4r.net
>>466
「MS-Accessのレポートをページ毎にPDF化する」でググって一番上のページ
そこみて、わからないとこは自分で勉強してくれ

487:デフォルトの名無しさん
15/11/01 03:17:03.71 MNp+RCAH.net
>>466
あのさ、ここはお前の願望を叶えるスレじゃないの。
わからない所を聞く為のスレなわけ。
お前のそれは1機能まるごと作ってここにコード貼れって命令してるに過ぎない。自分でコードもはらずにね。

488:デフォルトの名無しさん
15/11/04 20:19:18.57 jMb6JFTC.net
VBAでSELECT文を作って、Formに渡してRequeryして結果を表示しています。
テキストボックスに表示するテキストデータが途中で切れているという現象がおきました。
別のフォームで同じデータを同じようにテキストボックスに表示させると、全部のデータがきちんと表示されます。
スクロールとかではありません。文字列がぶつっ!と切れて途中までしか表示されないのです。
この現象の原因とかわかる人いますでしょうか?

489:デフォルトの名無しさん
15/11/04 21:27:15.64 oSFsMrp6.net
>>470
なぞなぞかよっ!w
テキストボックスのプロパティを良く見た?

490:デフォルトの名無しさん
15/11/05 11:16:36.84 AOwzRWVn.net
>>470
そおテキストボックスどっかからコピペしてきたと見た

491:デフォルトの名無しさん
15/11/05 19:21:36.55 zgwRgbI3.net
>>471,>>472
表示ができているテキストボックスと同じプロパティです。
でも、1000件データのうち、1つだけ200文字くらいの文字列なんですが、100文字くらいの
ところでブツッ!って切れてるんです。
他のデータで同じくらいのサイズの文字列は問題なく表示されています。
SQLが悪いのかと思って、Debug.PrintしてSQLを取り出して、クエリを実行してみると、ちゃんと文字列が全部表示されています。
文字コードかなんかでしょうか?
でも、同じ文字列を別のフォームにあるテキストボックスで表示可能なんです。(ToT)

492:デフォルトの名無しさん
15/11/05 19:22:59.62 I4yBwlZm.net
>>473
同じ方法で出してるの?
ヌル文字ってVBAは関係なかったっけ?

493:デフォルトの名無しさん
15/11/05 19:44:01.06 zgwRgbI3.net
SQLは、違います。
あぁ・・・・その実験やってなかった・・・。
やってから報告します・・・。

494:デフォルトの名無しさん
15/11/05 19:53:07.35 tNVJsXcL.net
VBAの文字列はヌル文字ではターミネートされない
改行とか入って、見えなくなってるだけとかじゃないのか

495:デフォルトの名無しさん
15/11/06 09:46:24.95 rpsHbqpr.net
union

union all
にしたら現象がでなくなりました。
(ヽ´ω`)でもクエリデザインから実行するとunionでも普通に表示されるんだよなぁ、、、

496:デフォルトの名無しさん
15/11/06 10:26:38.77 iLvLfKdX.net
>>477
重複業があるんじゃないの?
目視で見てるのは違う行とかないよね。

497:デフォルトの名無しさん
15/11/06 12:39:06.37 F7EIvq3A.net
test

498:デフォルトの名無しさん
15/11/06 17:29:52.25 FW411vzH.net
>>478
質疑回答IDも一致してて、単純なSELECTぶんなので、、
超レアなバグなのかなと

499:デフォルトの名無しさん
15/11/06 19:16:39.01 hUa1dWCf.net
メモ型あたりでunionの同一行判定でなんかあるかもしれんけど
どう考えても>>480の勘違いの可能性の方か高いと思うぞ
まあACCESSのバージョンもテーブルの種類もSQLもデータをどうやって表示してるかも書かんような奴の話は
聞くだけ無駄かもしれん

500:デフォルトの名無しさん
15/11/06 19:41:20.27 hUa1dWCf.net
メモ型ってgroup by 出来なかった気がしたのでちょっと調べた
どうも、TEXT型にキャストして判定するみたいだな
なので、255文字目までが同一のメモ型は同一と判定される
distinctで採択されるのがどっちの行かはわからんが
とりあえずメモ型の制限だからメモ型使って値操作するのが悪いと言う結論だな
個人的にはエラーにしてほしいところだし、昔はエラーになってた気がするんだが俺の気のせいだろうか

501:デフォルトの名無しさん
15/11/06 19:56:07.21 hUa1dWCf.net
あと、unionは単純なSQLとは言えんし
はなからunionしてるSQLとテーブルレイアウト出してればもっと解決早かっただろうに
全く同じ現象出てるって書いてるブログあるぞ

502:デフォルトの名無しさん
15/11/07 13:41:21.41 Lam93S6q.net
あのっ某所でAccessはフロントエンドのみの製品で
RDB自体はOS標準で使えますぜgff・・・
みたいな内容見たんだけど
本当なんです?

503:デフォルトの名無しさん
15/11/07 16:11:16.86 rKOE1Rwz.net
yes

504:デフォルトの名無しさん
15/11/07 17:29:39.50 D4Pma+c4.net
>>484
んだ。
だから、ExcelがあればVBAで組める人がいるなら、ぶっちゃけいらん。

505:デフォルトの名無しさん
15/11/07 17:54:57.33 nFXrQ+Fm.net
OSに標準でついてるRDBってなんのこと??

506:デフォルトの名無しさん
15/11/07 18:34:51.46 eMujCaYk.net
RDBは付いてないでしょう

507:デフォルトの名無しさん
15/11/07 19:25:43.69 Lam93S6q.net
ちゅーかVBScriptからもいけるじゃん
後付けコンポーネントってわけでもなさそうだし
Officeいらないのかもしかして

508:デフォルトの名無しさん
15/11/07 19:37:37.20 sBJO9RQ1.net
SQLサーバのこといってんの?

509:デフォルトの名無しさん
15/11/07 19:


510:39:42.37 ID:Lam93S6q.net



511:デフォルトの名無しさん
15/11/07 19:47:42.23 sBJO9RQ1.net
>>491
トン
jetってAccess買わなくてもつかえるんだ。
ランタイムはしってたけど

512:デフォルトの名無しさん
15/11/07 20:47:46.88 nqO+al0X.net
windowsに統合されたjetの使い方はどうすれば?

513:デフォルトの名無しさん
15/11/07 22:03:40.43 cyCg/fRc.net
レポートをレコードごとに、pdf出力したく
daoで以下のような感じで書いたんだが。
ファイルのフルパスが書いてある別クエリの中のレコードとレポートの項目が合致するレコードのフルパスにpdfを出力したいんだがどうしたらいいのかわからない。
Do Until rs.EOF
DoCmd.OpenReport ~
DoCmd.OutputTo acOutputReport, , acFormatPDF, "ファイルパス.pdf"
DoCmd.Close acReport, レポート名
rs.MoveNext
Loop

514:デフォルトの名無しさん
15/11/07 22:57:08.01 uMO3Ng54.net
SQL書いてそれをレコードセットに入れたら?

515:デフォルトの名無しさん
15/11/08 02:11:48.41 WbD4bkmm.net
JETだけでDB組むとか何の拷問だよ
素直にAccess使え

516:デフォルトの名無しさん
15/11/08 12:15:44.95 GC9rkdcu.net
Pythonで書いても楽

517:デフォルトの名無しさん
15/11/08 13:04:28.61 iWdr+l4l.net
で、Accessって
何に使えばいいの?
(´・ω・`)

518:デフォルトの名無しさん
15/11/08 14:01:11.47 LxG8VZT7.net
>>498
一人で完結する仕事で面倒臭くて外注する予算もなくてなことを
自動化するのに使ってるよ。だから保守も自分でしかできない(笑)
そんな仕事じゃないか?

519:デフォルトの名無しさん
15/11/08 15:13:38.10 QfP+cajQ.net
社内の統計担当とかそんなポジションの人かな?
社内の簡単な統計ならほんと楽ちん。
Access使えるか使えないかでどえらい作業能力の差が生まれる。

520:デフォルトの名無しさん
15/11/08 18:18:56.29 dBATCu8V.net
m9 pgr

521:デフォルトの名無しさん
15/11/10 21:11:26.36 Ya5Yiifl.net
>>501
それは何?

522:デフォルトの名無しさん
15/11/11 13:15:07.58 vGX0No5x.net
むきゅー
ぷぎゃー

523:sage
15/11/11 19:27:14.97 V8OM9GuG.net
access2013でフォームからの入力期間の金額を集計してレポート作成をしようとしています。
vbaでリボンにあるレポートボタンを押下した動作と同じコードは存在しますでしょうか。

524:デフォルトの名無しさん
15/11/11 20:31:20.16 RY0eiki2.net
マクロの操作を記録すれば出てくるでしょ

525:デフォルトの名無しさん
15/11/11 22:30:56.87 /+peIgnx.net
>>505
ACCESSにマクロの記録は無かったと思ったが
2013とかだと出来るようになってるのか?

526:デフォルトの名無しさん
15/11/11 22:51:22.82 oO+3Zy7C.net
無いと思うよ

527:デフォルトの名無しさん
15/11/11 22:55:33.44 51LqdR7k.net
vba レポートでくぐったがはやいよ。

528:デフォルトの名無しさん
15/11/12 04:28:05.37 MeI9ns/Z.net
>>505
は?馬鹿はいちいちスレに出張って来るなよww
何がマクロの操作を記録だ馬鹿が。

529:デフォルトの名無しさん
15/11/12 12:35:52.00 pHlRdfiq.net
普通にフォームと同じソースの「れぽーとほげ」を用意しておいて
DoCmd, OpenReport "れぽーとほげ", acViewPreview
ではダメな理由があるのかな? フォーム上でレポートに応用できるように画面設計
作り込むよりは専用のレポートで別制作しといたほうが何十倍も効率いいだろうにな

530:デフォルトの名無しさん
15/11/12 12:42:12.51 tbcgbggA.net
>>504


531: ちょっと出来ない事があるとVBAに頼るのはよくない。 Officeの使い方をもっと勉強してからVBAに手を出すべきだよ。 「パラメータクエリ」と「フォーム」で作ればなんとかなるかな。 というわけで、VBA必要ないので↑の2つのキーワードでggrks



532:511
15/11/12 12:43:58.58 tbcgbggA.net
パラメータクエリとレポートでも作れるわ。

533:デフォルトの名無しさん
15/11/12 14:18:08.75 Cdboni3Z.net
フォームからfrom日付-to日付を入力

テーブルから購入日が対象範囲のデータ取得
テーブル構造は
シーケンスno.,氏名,購入品1,購入日1(購入日、購入品は6まで存在)

クロス集計にて月毎の金額を集計

レポートに出力
入力する日付によってフィールド数が可変なため、レポートの作成はしていないです。
vbaを使う必要がなく可変レポートが作成出来るならスルーして下さい

534:デフォルトの名無しさん
15/11/12 15:03:31.62 m1A4y0ZB.net
>>513
クエリ作っときゃいいんじゃないの?集計の。
フィールド数が可変とはなんぞ。

535:511
15/11/12 16:03:58.58 tbcgbggA.net
>>513
テーブルの基本設計からやり直せ。
購入品と購入日が1~6って無いと思います。

536:デフォルトの名無しさん
15/11/12 16:36:07.67 Cdboni3Z.net
>>515
くそなテーブルだと思ってますが自分が作ったテーブルではないので変更出来ません

537:511
15/11/12 16:42:28.68 tbcgbggA.net
>>516
レポート用にテーブル作っちゃうことはできないの?

538:デフォルトの名無しさん
15/11/12 16:43:56.03 m1A4y0ZB.net
>>516
だからクエリ作れよ。
select id,1 as 区分,氏名,購入日1 as 購入日,購入品1 as 購入品
union
select id,2 as 区分,氏名,購入日2 as 購入日,購入品2 as 購入品
:
select id,6 as 区分,氏名,購入日6 as 購入日,購入品6 as 購入品
で、あとはそれに対して、fromToでフィルタ掛ければいいんでないの?

539:デフォルトの名無しさん
15/11/12 16:44:59.17 Cdboni3Z.net
>>514
入力した期間に応じて月が増減します
URLリンク(i.imgur.com)
集計用のクエリは作成したのでリボンにあるレポートボタン同様に自動でリポート作成出来ないかと思ってます

540:デフォルトの名無しさん
15/11/12 16:47:06.72 m1A4y0ZB.net
>>519
帳票一枚に並べられる分の月数を元からつくっとけ。

541:デフォルトの名無しさん
15/11/12 17:02:23.22 Cdboni3Z.net
>>517
くえりをそのままレポートは難しそうだったのでテーブル化はしてあります

542:デフォルトの名無しさん
15/11/13 20:45:36.98 7WxIZdrP.net
複雑になってるクエリが循環参照になってるようなのだが、読み解かずにテーブル作成して逃げようとしたらまたエラーなんとかならんかなー

543:デフォルトの名無しさん
15/11/13 20:51:20.52 etlrmpjh.net
>>519
クエリ出来てるなら、レポート作って保存しておけば好きなときに開くだけじゃん

544:デフォルトの名無しさん
15/11/13 22:14:56.04 fKrJSaVy.net
vbaでfilecopy(fsoも含む)でリムーバブルディスクにファイルをコピーするとハードウェアの安全な取り外しで
ファイルが使用中とかでできない。まぁ警告のダイアログで続行を押すと取り外せるんだけど、これやると
マイコンピュータからリムーバブルディスクが消えなかったりすることがある。
accessを終了すると普通に取り外せるんだけど、これをなんとかできないかなぁ。

545:デフォルトの名無しさん
15/11/14 00:03:58.17 Q8aVOdfz.net
>>524
Fsoでやるなら、
宣言で as new ...とかしない、最後にNothing入れとくを徹底したら無くなるんじゃないかな。

546:デフォルトの名無しさん
15/11/14 00:13:34.12 YdrOLc06.net
カレントフォルダとカレントドライブを明示的に
リムーバブルじゃないとこに設定してやれば行ける見たいな事を聞いたことがある

547:デフォルトの名無しさん
15/11/14 07:50:49.05 ZUqvxiq2.net
>>524
それ、使用したメソッドがファイル掴んだままで、開放してないからでしょ。ちゃんとプログラミングのイロハ身につけてたらやらない。
使ったら


548:必ず開放する。VBAユーザはなぜか使いっぱなしが多い。



549:デフォルトの名無しさん
15/11/14 08:28:36.61 f21e1kim.net
.NETなんかだとマネージドは書いてもほぼ意味なかったりで使いっ放し推奨

550:524
15/11/14 10:27:44.88 c/SicAL6.net
>>525、527
Dim objFileSys As Object
Set objFileSys = CreateObject("Scripting.FileSystemObject")
objFileSys.CopyFile 元ファイル, コピー先フォルダ & "\"
Set objFileSys = Nothing
copyfileの部分だけをかいつまんで書くとこんな感じだけど、解放の仕方を教えてくれないか。
リムーバブルディスクにコピーしたファイルは開けるし削除もできるからロックされた感じじゃないんだよね。
安全なハードウェアの取り外しだけがうまくいかないんだよ。

551:デフォルトの名無しさん
15/11/14 11:01:39.40 ajpWryyv.net
getdriveとか適当なのを実行してみたら?
カレントが移動するかも。

552:524
15/11/14 12:52:04.15 c/SicAL6.net
>>526、530
ありがとう。この方法で解決した。
ChDrive "c" って1行追加しただけでOKでした。言われないと気付かなかったから助かりました。
他のみなさんもありがとう。

553:デフォルトの名無しさん
15/12/06 22:14:00.95 ZiGqGoDJ.net
重複した文言の多いcsvファイルの情報を読み込む時に、重複しない文言を蓄えたテーブルと、
文言テーブルのIDだけを入力したテーブルに分けて管理する事で容量を節約しようと思ってるんですが、
人が読める様にIDから元の文言を復元したテーブルを作りたいと思った時、
VBAで文言一つ一つ代入したテーブルを新たに作るしかないですかね?

554:デフォルトの名無しさん
15/12/07 01:08:03.51 D3MoacxB.net
IDでテーブル結合したview作るなりクエリにすりゃいいんじゃないの
どちらにしろVBAとか関係ないと思う

555:デフォルトの名無しさん
15/12/10 11:46:09.31 V//Y2NlP.net
質問です
Access2007ファイルのショートカットをデスクトップに作ろうと思って
URLリンク(www.moug.net)
ここを参考にパスとかだけ変えて作ったんだけど、ショートカットが作成されません
解決策教えてください

556:デフォルトの名無しさん
15/12/10 12:16:08.88 gg94mj0B.net
うちはできたよ

557:534
15/12/11 16:06:56.86 UbN3V6OX.net
出来ました。

558:デフォルトの名無しさん
16/01/04 04:37:40.84 KKPx2R3A.net
mdbファイルのテーブル構造をADO.NET SqlCommandで取り出す方法を知りたいです。(データ定義言語的な取り出し)
DoCmd.TransferDatabase acExportでできるテーブル構造のコピーと同じことを,ADO.NETで,元データなしで実現(テーブル生成)したり
プログラム側が想定するテーブル構造と一致するか確認する処理をテーブル生成→比較とすることで一般化したりしたいのですが

559:デフォルトの名無しさん
16/01/04 18:57:08.11 uh/Y4MEw.net
ADODBEX

560:デフォルトの名無しさん
16/01/09 22:01:59.03 ytxGXkKI.net
Accessでプロマネの仕事頼まれたけど断ったわ
もうVisualStudioが無いと何もできない体になってしまった

561:デフォルトの名無しさん
16/01/10 01:26:39.26 0BvJ+8Ai.net
プロマネの仕事は開発じゃない、とつっこみ

562:デフォルトの名無しさん
16/01/11 08:38:46.37 grtS6L7L.net
>>540
そういういかにも日本的で世界で通用しない回答は誰も期待していないし、
君みたいな奴は誰も求めていない。

563:デフォルトの名無しさん
16/01/11 17:35:29.30 ErJJ4Q3v.net
>>541
君には悲しいかもしれないけど、ここ日本なのよね

564:デフォルトの名無しさん
16/01/14 21:12:26.51 RI


565:YdCmvc.net



566:デフォルトの名無しさん
16/01/14 22:01:16.12 fK8eMzuy.net
>>543
配列で受けると速くなるかもしれない
dim ary as variant
ary = Range("A1").CurrentRegion.value ' 1オリジンの2次元配列

567:デフォルトの名無しさん
16/01/14 22:04:06.66 fK8eMzuy.net
ゴミは数式やエラー値が混ざってるんだろうから配列にした段階で適当に変換する
dim row, col
for row = lbound(ary(), 1) to ubound(ary(), 1)
for col= lbound(ary(), 2) to ubound(ary(), 2)
if ゴミ?(ary(row, col)) then ary(row, col) = ゴミ処理(ary(row, col))
next
next
この後でテーブル登録する

568:デフォルトの名無しさん
16/01/14 23:52:25.44 SY7xxp+v.net
>>543
パフォーマンス重視ならレコードセットやExcelオブジェクトは扱わない方が良いですよ
1.インポート定義でインポート
2.リンクテーブルを作って追加クエリ
3.SQL の IN 句使って INSERT
4.OLE DB の Jet か ACE で接続して INSERT
などなど...
ゴミが混ざるならゴミを許容する作業テーブルにインポートしてから後始末をするとか
処理の仕方も色々あると思います、頑張ってください

569:デフォルトの名無しさん
16/01/14 23:55:58.95 SY7xxp+v.net
書き忘れ
インポート定義は文字列切り詰めなどが起きるかもしれないので
使うなら想定しておいた方が良いです

570:デフォルトの名無しさん
16/01/15 00:07:44.49 obwNql4P.net
レコード長とかPCのスペックとかもわからんが
コードでもっと早くできる余地がいっぱいある気がするぞ
というか、純粋な追加で時間かかってるのか?
エラーチェックに時間かかってるんじゃないのか

571:デフォルトの名無しさん
16/01/17 14:16:21.53 A2o/pomn.net
access2013の質問がしたいのですがここでは不可でしょうか?探してもスレが見つからなかったので誘導していただけないでしょうか?

572:デフォルトの名無しさん
16/01/17 18:47:14.28 wzxdIUIG.net
聞くがよい

573:デフォルトの名無しさん
16/01/18 17:00:22.89 cbTDZ81K.net
Access総合相談所 27
スレリンク(bsoft板)

574:デフォルトの名無しさん
16/01/20 21:12:14.20 b2HKKJl2.net
access 2013での質問です。
テーブルAの構成要素は【id(オートナンバー)、写真(添付ファイルで複数値を持つフィールド)】となっております。
この状態で、テーブルAの任意のIDに写真が入っているか否かを確認したいと考えております。
今のところ
dim RS As DAO.Recordset2
set RS = CurrentDb.OpenRecordset(

575:デフォルトの名無しさん
16/01/20 21:13:28.67 b2HKKJl2.net
すみません、途切れました
set RS = CurrentDb.OpenRecordset("テーブルA")
With RS
.FindFirst "id = ○"
End With
で任意のIDに移動できるのですが、そこから写真フィールドにデータが入っているか否かをどのように確認したら良いかが分かりません。
一応複数値を持つフィールドということから
Dim RS_写真 As DAO.Recordset2
Set RS_写真 = RS.Fields("写真").Value
と代入し、
If RS_写真.Fields("FileName") = "" Then
 MsgBox "hoge"
End If
というように、if分を使ってみたのですが、上手く行きません。
お忙しいところ恐縮ですが、アドバイスを戴けると幸いです。

576:デフォルトの名無しさん
16/01/21 00:33:33.20 eWUPCZWU.net
添付ファイルで複数値を持つフィールド ってのがよく�


577:墲ゥらん そのフィールドのデータ型と 実際に内容をセットしてるコード出してみ



578:デフォルトの名無しさん
16/01/21 07:45:42.44 7TL6zMKQ.net
>>554
お返事ありがとうございます。
TABLEAのフィールド"写真"にデータをセットするのはフォーム上で行っております。
MsgBox TypeName(.Fields("写真")) で確認をしてみたところ、
Field2 オブジェクト (DAO)
URLリンク(msdn.microsoft.com)
と返ってきました。
これで伝わりますでしょうか?

579:デフォルトの名無しさん
16/01/21 12:58:17.49 zpe1QHZ3.net
伝わったが答える気にはならなかった

580:デフォルトの名無しさん
16/01/21 13:50:34.34 tpiDrCnM.net
テーブルAのあるレコードでは【写真】に外部からデータが入っていて,違うレコードでは入っていないから,それを確認したいということ?
RS_写真のeofとbofを調べれば良いだけだと思う.
URLリンク(msdn.microsoft.com)
ここにサンプルが有るから頑張って

581:デフォルトの名無しさん
16/01/21 15:33:43.41 zpe1QHZ3.net
これはひどい

582:デフォルトの名無しさん
16/01/21 18:39:11.58 eWUPCZWU.net
>>555
そのテーブルをデザインビューで開いたときに、そのフィールのデータ型は何になってる?
フォームでセットとは具体的にどうやってるんだ?

583:デフォルトの名無しさん
16/01/21 19:53:25.15 dhgW0ru6.net
添付ファイル型っていうのがあってだな云々・・・

584:デフォルトの名無しさん
16/01/21 20:32:40.23 xJzWoKjV.net
> If RS_写真.Fields("FileName") = "" Then
FileData?
データが入ってたらFileNameとは何を指すのだ

585:デフォルトの名無しさん
16/01/21 20:50:12.31 dhgW0ru6.net
フィールドに複数データが入るんだけど、ファイル名とファイル本体がセットになって入るイメージなんじゃないかな。
>>553 は配列のような捉え方で書いてるんだと思う。
フィールドがnullなのかを見ればいいんだろうけど、ファイル名を指定してそのファイル本体の有無を見たいのかな。
でもそれだとファイル名のみがあってファイル本体がないってことがあり得ることが前提になると思うんだけど。

586:デフォルトの名無しさん
16/01/21 21:21:29.71 eWUPCZWU.net
添付ファイル型なら
RS_写真のEOFと(MoveLastしてから)RecordCountみれば、添付されてるファイルの件数はわかる


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch