12/02/09 00:43:50.48 .net
くその山
3:デフォルトの名無しさん
12/02/10 08:46:53.06 .net
まさかの3
4:デフォルトの名無しさん
12/02/13 03:22:20.27 .net
期待あげ
5:デフォルトの名無しさん
12/02/24 00:33:06.69 .net
問題なく使えてるけど
6:デフォルトの名無しさん
12/02/24 07:50:36.35 .net
とりあえず使ってみたいんだけど、解説してるwebページ教えて
7:デフォルトの名無しさん
12/02/24 10:58:16.76 .net
うぜえ
8:デフォルトの名無しさん
12/02/24 13:25:33.52 .net
>>6
URLリンク(www.geocities.jp)
URLリンク(accessvba.pc-users.net)
URLリンク(vba.officehp.com)
ググればいくらでも出てくる罠。
9:デフォルトの名無しさん
12/02/24 20:57:22.20 .net
>>6
とりあえず程度なら解説見ないで作れよ。
10:デフォルトの名無しさん
12/03/06 16:43:20.41 .net
すいませんが質問です。
XPから7へ移行したいのですがaccessのvba上で
excelのマクロを操作してセルの中身を変えて上書き保存してたのですが、
今まで前面にexcelのメッセージで上書きしますか?的なメッセージが出てたのですが
7だとaccessが出っ放しでexcelがタスクに隠れてメッセージが前面に出てこないのです。
何かやり方ありませんか?ググり方すら分からない…アドバイス下さい;
11:デフォルトの名無しさん
12/03/06 16:49:39.47 .net
>>10
URLリンク(oshiete.goo.ne.jp)
12:デフォルトの名無しさん
12/03/06 17:05:38.78 .net
>>11
早々とありがとうございます。本当に嬉しい!!
しかし、自分で作ったメッセじゃなくてデフォルトの置き換えますかってメッセなんです。
XPから7に変わると設定変えるんじゃなくてvbaに追加せんと駄目なんですかね…無知でスイマセン
13:デフォルトの名無しさん
12/03/06 17:46:46.30 .net
>>12
Excelのマクロ実行中にExcelをアクティブウィンドウに出来ればおK。
試してないが、この辺が参考にならないかな?
URLリンク(www.officepro.jp)
14:デフォルトの名無しさん
12/03/07 00:32:47.13 .net
すみません、フォームが開く順序は
Open→Load→…が規定だと思いますが、
Loadが飛ばされる条件はどのような条件か
ご存じの方いらっしゃいませんか?
15:デフォルトの名無しさん
12/03/07 11:20:11.27 .net
HideしてShowするとLoadに飛ぶ
16:デフォルトの名無しさん
12/03/08 16:02:20.11 .net
>>13
ありがとうございます。一度試してみます
17:デフォルトの名無しさん
12/03/12 09:45:47.59 .net
すみません
ADOで新規にブール型のフィールドをテーブルに作成する場合、
VBAではどうかくのでしょうか
(テーブル).Columns.Append "XXXX", adBoolean
だとエラーになってしまうんですが
18:17
12/03/12 10:52:54.08 .net
すみません環境を書きます
OS:Vista
Ver:Access2010(accdbファイルを使用。実際のコードはExcel2007ファイルに記述)
19:デフォルトの名無しさん
12/03/12 14:16:24.17 .net
DoCmd.RunSQL "ALTER TABLE (テーブル) ADD COLUMN XXXX BOOLEAN;"
20:17
12/03/13 01:56:43.81 .net
回答ありがとうございます
ただ他のフィールド(adGUID・ adInteger・adVarWChar)は問題なく
Appendできるので、SQL文ではなく、これらに合わせたADOXによる
コードにしたいと思ってます
んん、というかadBooleanのフィールドを追加するとtablesへのAppend時に
エラーとなる原因がどうしても知りたいです
散々ググったのですが、結局実際にadBooleanのフィールドを追加している
サンプルコードにはお目にかかれませんでした
何が原因なんだろう…
adBooleanの時はAppendの他に何か処理が必要なんだろうか…
21:デフォルトの名無しさん
12/03/13 15:50:44.64 .net
Office2010 64bit版を使ってるのだとしたら32bit版に入れ替えてみると良いかも。
そうじゃないとしたら、参照設定でバージョンの違うADOモジュールを試すとか。
22:17
12/03/14 01:05:25.66 .net
原因が分かりました
普段ACCESS使ってる人からは、当たり前やんけ!って怒られそうな話ですが
アドバイス下さった方もいらっしゃるので報告しますと
(テーブル).Columns.Append "XXXX",adBoolean
が原因ではなく、その次に入れておいた次の文
(テーブル).Columns("XXXX").Attributes = adColNullable
が原因でした
ブール型フィールドには初期値(True)があり、Nullを設定できないのにNull許容を設定したせいで
エラーになっていたようです
本やネットで情報漁って、ADOでEXCElからACCESSファイル作れてテーブルも作れるなら、ACCESS買わなくてもいいんじゃね?
なんて思ってましたが、ソフト買って普段からいじって慣れておいた方かいいのかも
23:デフォルトの名無しさん
12/03/15 23:06:37.82 .net
ADOのDynamicPropertyについて
かなり詳細な解説が知りたいのですが、
なにか参考となるURLや書籍はありませんか?
24:デフォルトの名無しさん
12/03/17 19:33:03.28 .net
Access初心者です。質問があります。
前任者のAccessで作られた業務ソフトを担当することになりました。
まずは全体を見通したいので、Basicのコードやコントロールのプロパティ、
イベントなど、すべての情報をテキストファイルに書き出したいです。
どうやったら良いのでしょうか?
Access2003 です。
教えてください。
25:デフォルトの名無しさん
12/03/19 00:50:30.92 .net
コードはともかくとして、プロパティなんかは
自分でそれをリストするプログラムを書けばいい。
26:デフォルトの名無しさん
12/03/22 05:39:40.85 .net
VBAでそんなこと出来るんですね。
どこかのHPにソースが公開されていないかな~
参考になるページなど、探して見ます。
27:デフォルトの名無しさん
12/03/22 21:28:12.01 .net
>>26
ツールならこのへんか
URLリンク(www.vector.co.jp)
URLリンク(www.vector.co.jp)
どっちもDAOとかCOMのAccess.Applicationオブジェクトで抜いてるだけだと思う
マクロ多用なら一回VBA変換すると見やすいぞ
28:26
12/03/25 17:47:30.63 .net
>>27
情報サン・クスコ☆
29:デフォルトの名無しさん
12/04/16 23:53:45.24 .net
hosyu
30:デフォルトの名無しさん
12/04/18 00:22:57.54 .net
Accessで同時利用の限界ってどれくらい?
プログラム工夫すれば50人くらいは兵器?
31:デフォルトの名無しさん
12/04/18 13:07:20.08 .net
50人がそれぞれ日一回違う時間帯に読み書きするとかならぜんぜん平気かもしれないよ
32:デフォルトの名無しさん
12/04/26 11:59:42.32 .net
WindowsXP
Access2003
DoCmd.RunCommand acCmdSaveRecord
の使いようがよくわかりません。
例えば
テーブルA フィールド1~3
についてフォームで値を入力できるようにしたとします。
フォームに入力して閉じるとテーブルのレコードは更新されています。
DoCmd.RunCommand acCmdSaveRecord
を使うとフォームを閉じる前の時点でレコードが更新されるんでしょうか?
しかしこの命令文を通過した後でテーブルを開いてみても更新されていませんでした。
33:デフォルトの名無しさん
12/04/26 13:16:55.86 .net
馬鹿には無理
34:デフォルトの名無しさん
12/04/26 15:30:07.48 .net
>>32
テーブルAを表示させたメインフォームの中に同じテーブルAを表示させたサブフォームを置いて
Private Sub 1_AfterUpdate()
End Sub
Private Sub 2_AfterUpdate()
DoCmd.RunCommand acCmdSaveRecord
End Sub
と書け
メインに表示されたフィールド1を変更して、フォーカスをフィールド2に移すとサブに表示された内容も変わるメインに表示されたフィールド2を変更して、フォーカスをフィールド3に移してもサブの内容は変わらない
ただしどちらもメインフォームからサブフォームにフォーカスを移せば内容は変わる
これでレコードがどういうタイミングでセーブされるか判るべ
35:デフォルトの名無しさん
12/05/17 20:45:31.33 .net
人の手でデータ加工する過程はすべてVBAに置き換えられるのでしょうか?
36:デフォルトの名無しさん
12/05/18 03:27:32.55 .net
>>35
Access内でやっている限りは
37:デフォルトの名無しさん
12/05/19 00:18:15.14 .net
import os
import win32com.client
MDBFILE = "test.mdb"
if os.path.exists(MDBFILE): os.remove(MDBFILE)
dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s" % MDBFILE
adox = win32com.client.Dispatch("ADOX.Catalog")
adox.Create(dsn)
adodb = win32com.client.Dispatch("ADODB.Connection")
adodb.Open(dsn)
adodb.Execute("create table hoge (id counter primary key, c1 varchar(10));")
adodb.Execute("insert into hoge (c1) values ('fuga');")
adodb.Execute("insert into hoge (c1) values ('hage');")
adodb.Close()
38:デフォルトの名無しさん
12/05/24 11:34:52.22 .net
VBAじゃないんだけどmdbファイルからSQLで指定テーブルのフィールド名を列挙するSQLを教えてくださ
39:デフォルトの名無しさん
12/05/24 11:40:53.57 .net
>>30
バックエンドにMySQLを使うといったようなクラサバにすれば50人だろうが
100人だろうが行ける。
40:デフォルトの名無しさん
12/05/25 03:16:51.66 .net
>>38
了解
41:デフォルトの名無しさん
12/05/25 23:17:09.33 .net
>>38
import win32com.client
adox = win32com.client.Dispatch("ADOX.Catalog")
adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"
for t in adox.Tables:
if t.Type != u"TABLE": continue
print t.Name, t.DateCreated, t.DateModified
for c in adox.Tables(t.Name).Columns:
print c.Name, c.DefinedSize, c.Type
42:デフォルトの名無しさん
12/07/04 17:05:23.99 .net
Access2010(x86) Windows7(x64) PostgreSQL9
パススルークエリ+PostgreSQLの関数でナンバリング実装したんだが、
PostgreSQLの関数直接叩く → 1づつ進む
クエリをデータシートビューで開いてリロード → 1づつ進む
DLookup(結果フィールド, パススルークエリ名) → 2~3づつ進む
ADOのExecuteでレコードセット取り出し → 2~3づつ進む
になってしまう。(直接叩く&データシートビューで問題なしなので、VBAからの呼び出しの問題だと思う。)
試しにVBAの方にテスト用の関数(デバッグメッセージ出してダミーの値を返す)を作って
それを呼び出すパススルーじゃないクエリを作ってDLookUp実行してみたが、デバッグメッセージは1回しか出ない。
(Accessのパススルーじゃないクエリは1回の実行毎に1回しか開かれない?)
VBAからパススルークエリ実行する時は、1回の実行でも複数回(2~3回)開かれるのか?
何とかして1回に1づつ進むように出来ないんだろうか・・・。
43:42
12/07/04 17:12:27.30 .net
age忘れたorz
44:デフォルトの名無しさん
12/07/04 19:17:26.30 .net
馬鹿には無理
45:42
12/07/05 10:34:27.66 .net
>>44
㌧。
おまいのおかげで目が覚めた。
パススルークエリやめて、直接ADOからPostgreSQL開いてクエリ送ったら1づつカウントするわ。
助かったよ。
46:デフォルトの名無しさん
12/07/05 11:25:53.31 .net
やれば出来る子
47:デフォルトの名無しさん
12/07/06 19:18:40.79 .net
おまえみたいなやつが伸びる。
かもしんない。
48:デフォルトの名無しさん
12/08/12 10:55:28.80 .net
Access2003 WinXP SP3 Firefox14.0.1です。
質問ですが、hyperlinkaddressプロパティというのがありますよね。
url文字列を代入すると、そのページをデフォルトのブラウザで
開いてくれるというやつ。
で、このurlのCGI何とかっていう文字列が入っていますので、
CGIで何らかのプログラムを起動しているんでしょうが、その時に、
ページが表示されないんです。
正確に言うと、デフォルトのブラウザがIE(自分の機械には6しか
入ってないんですが)だと、表示されるんですが、Firefoxだと表示できません。
でも、FFのURLボックスには灰色でうurlが表示されていて、
再読み込みボタンを押すと、表示します。
試しに、コマンドラインからurlをパラメータにして起動すると、表示します。
症状から見て、VBAの問題なのか、FFの問題なのか、判断しかねたので、
こちらでお聞きする次第です。
どなたか、詳しい方、アドバイをおねがいします。
49:デフォルトの名無しさん
12/08/12 14:26:35.97 .net
「""」で囲んでみた?
50:デフォルトの名無しさん
12/08/12 15:32:13.48 .net
”で囲むと、「”url”を開くことができません。指定したファイルを開くことができません」というエラーダイアログが出ます。
51:デフォルトの名無しさん
12/08/23 22:10:14.57 .net
他の方法でFFにそのuriを送ってみる
ショートカットやコマンドライン、メールやワープロ、表計算ソフトから
同じ現象になると思うのでFFの仕様かバグ、設定のせいだとわかるのではないかと
52:デフォルトの名無しさん
12/08/27 21:38:06.30 .net
500件ぐらいのDATAをどんどん追加していくと、3、4回で重くなってしまうんですけど、
どっから手を付けていいのやら分かりません。
ヒントください。
53:デフォルトの名無しさん
12/08/27 21:43:01.77 .net
ソース貼れ
54:デフォルトの名無しさん
12/08/28 07:43:56.82 .net
>>52
書き込みが遅くなるって事ですか?
55:デフォルトの名無しさん
12/09/12 21:30:27.45 .net
VBAで既存のAccessデータベースを開いて、その中にあるクエリを実行して得られる「テーブル構造とデータ」をVBAの呼出し元にテーブルとしてインポートする方法教えてください。
[外部データ] タブの [インポート]からはうまくいくのですが、それをVBAで実行したいです。
56:デフォルトの名無しさん
12/09/13 00:20:33.72 .net
import win32com.client
adox = win32com.client.Dispatch("ADOX.Catalog")
adox.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb"
for t in adox.Tables:
if t.Type != u"TABLE": continue
print t.Name, t.DateCreated, t.DateModified
for c in adox.Tables(t.Name).Columns:
print c.Name, c.DefinedSize, c.Type
57:デフォルトの名無しさん
12/09/13 03:17:38.00 .net
>>55
DoCmd.TransferDatabase でできるんじゃね
58:デフォルトの名無しさん
12/09/13 09:47:05.31 .net
ExcelのVBAについて勉強中です。
まだ初心者なので、VBAについてお詳しい方、
ExcelのVBAでのテーブル作成方法を教えてください。
データーベース中心で、入力画面からデーターをmoveしてくるものを作りたいです。
59:デフォルトの名無しさん
12/09/13 10:07:40.73 .net
import os
import win32com.client
MDBFILE = "test.mdb"
if os.path.exists(MDBFILE): os.remove(MDBFILE)
dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s" % MDBFILE
adox = win32com.client.Dispatch("ADOX.Catalog")
adox.Create(dsn)
adodb = win32com.client.Dispatch("ADODB.Connection")
adodb.Open(dsn)
adodb.Execute("create table hoge (id counter primary key, c1 varchar(10));")
adodb.Execute("insert into hoge (c1) values ('fuga');")
adodb.Execute("insert into hoge (c1) values ('hage');")
adodb.Close()
60:デフォルトの名無しさん
12/09/26 09:10:07.57 .net
Access初心者です .
現在、ある地区の人口増減表を作成しています。
そのデータを格納するためにAccessを使用しています。
1回のデータを入れるたびに〈男or女〉〈転入or転出〉で元々設定された数値から(男性人口数)(女性人口数)(総人口数)
が自動的ににカウントアップする(データシートビューに)ロジックを作成したいと思っています。
現在、「データシートビュー」「デザインシートビュー」まで作成したのですが、これからどのように手を加えていけばいいでしょうか?
クエリで演算フィールドなどを作成するのでしょうか。
Access自体が全くの初心者なので、できるだけ詳しく書いていただけると助かります。
是非よろしくお願いします。
61:デフォルトの名無しさん
12/09/26 11:25:57.96 .net
馬鹿には無理
62:デフォルトの名無しさん
12/09/26 11:36:38.59 .net
Microsoft Office Chart10 あるいは、OWC10というグラフを描くコンポーネントで、
クリックやダブルクリックのイベントを使えないですか?
クリックしたグラフの要素を得たいのですが。
63:デフォルトの名無しさん
12/09/26 12:53:17.87 .net
使えますよ。
64:デフォルトの名無しさん
12/09/26 12:59:35.45 .net
>>63
どのようにするのですか?
何か参考になるページなど教えてもらえませんか?
65:デフォルトの名無しさん
12/09/26 17:04:56.08 .net
>>64
使えますよ。
66:デフォルトの名無しさん
12/09/26 18:11:11.92 .net
>65
使えますね。
67:デフォルトの名無しさん
12/09/26 18:20:01.38 .net
>>66
さっさと使え。
68:デフォルトの名無しさん
12/10/01 21:06:32.64 .net
>>57
サンキュー助かった!
スマホで規制で返信できずすスマソ。
69:デフォルトの名無しさん
12/11/25 21:58:23.52 .net
Access 2007のフォームで、オプショングループ内でトグルボタンを作成し、各トグルボタンをクリックすると、フォームのMe.RecordSourceにトグルボタンに対応させたクエリを設定するプログラムを書いています。
今のところ、機能は追加できたのですが、トグルボタンの表示がうまく更新されず、最初に押したボタンが引っ込んだままもどりません。
トグルボタンの表示を更新する方法はあるのでしょうか?
70:デフォルトの名無しさん
12/11/26 00:10:07.28 .net
引っ込んだら戻らなくなるのがトグルボタンなんだけど
71:デフォルトの名無しさん
12/11/26 21:19:17.24 .net
お前らここまでやるならC#でEXCELデータいじった方が簡単だろ
72:デフォルトの名無しさん
12/11/26 21:20:11.62 .net
>>70
すみません。言葉足らずでした。
トグルボタン1を押した後、トグルボタン2や3を押しても、トグルボタン1が押されたままの表示になってしまいます。トグルボタンに割り当てたRecordSourceの切替え機能はちゃんと動いています。
。
73:デフォルトの名無しさん
12/11/26 21:38:01.20 .net
トグルボタン1を押したあと
トグルボタン2を押して
トグルボタン3を押したら
トグルボタン2はどうなってますか
74:デフォルトの名無しさん
12/11/26 22:19:50.73 .net
>>73
トグルボタン2の表示は押されていない状態です。
トグルボタン1が押されたままの表示になっています。
75:デフォルトの名無しさん
12/11/26 22:27:05.15 .net
1がグループに入ってないな
76:デフォルトの名無しさん
12/11/27 06:18:00.99 .net
馬鹿には無理
77:デフォルトの名無しさん
13/02/09 15:50:52.56 .net
ACCESS2013はどうですか?
78:デフォルトの名無しさん
13/03/04 07:41:06.45 .net
>>77
adpがつかえん
クラサバの旗降ってきた漏れの立つ瀬がない囧rz
79:デフォルトの名無しさん
13/03/04 13:02:19.07 .net
ACCESS2013の利点は無いのかね!
80:デフォルトの名無しさん
13/03/05 15:27:52.54 .net
Office2013にメリットなんて無いよ。
見た目がヌルヌルしてキモいけど、価格分の性能&利便性向上はない
Office使ってなくてOpen系で駄目なら、仕方ないから買ってやるか程度
81:デフォルトの名無しさん
13/03/24 06:36:06.38 .net
無料バージョンアップできると聞いて2010買ったのに、発売の2/6までにインスコしないといかんかった囧rz
血も涙もないよ
82:デフォルトの名無しさん
13/03/24 07
83::16:09.59 .net
84:デフォルトの名無しさん
13/03/26 11:24:23.03 .net
Win8でACCESS2010です。
Form_test.Filter = "分類 Not Like ""*あああ*"" And Not Like ""*いいい*"""
Form_test.FilterOn = True
コンボボックスの更新後処理イベントで上記のコードを走らせると、
「構文エラー:演算子がありません」と返されます。
初歩過ぎる質問ですんまそん。文法何か間違ってますでしょうか。
85:デフォルトの名無しさん
13/03/26 12:05:53.53 .net
Form_test.Filter = "分類 Not Like ""%あああ%"" And Not Like ""%いいい%"""
86:デフォルトの名無しさん
13/03/26 13:24:28.20 .net
たぶん
"分類 Not Like ""*あああ*"" And 分類 Not Like ""*いいい*"""
87:デフォルトの名無しさん
13/03/26 15:56:56.54 .net
>>84->>85
返信ありがとうございます。どちらも「演算子がありません」エラーは解消されませんでした。
ちなみに、↓は問題ないので、And Notがまずいのかなと思ったんですが、書式は問題なさそうですか・・・。
Form_test.Filter = "分類 Not Like ""*あああ*"""
Form_test.FilterOn = True
他の方法も探してみます。
ヘルプ開くとBingとかいうのが出て何も表示されないお・・・。2010使いづらいお(;´Д`)
88:デフォルトの名無しさん
13/03/26 17:04:55.32 .net
Form_test.Filter = "Not (分類 Like ""*あああ*"" Or 分類 Like ""*いいい*"")"
89:デフォルトの名無しさん
13/03/27 08:35:25.18 .net
>>87
これでいけました!ありがとうございます!
90:デフォルトの名無しさん
13/03/27 11:51:17.13 .net
>>88
>>84は文法間違いあるけど、>>85はいけるはずだが、ほんとにダメだったのか?
先頭の のとこは無視しないとだめだぞ
91:デフォルトの名無しさん
13/03/27 17:54:38.17 .net
"Not 分類 Like ""*あああ*"" And Not 分類 Like ""*いいい*"""
92:デフォルトの名無しさん
13/04/04 18:20:58.41 .net
1.OS(64bit) + Office2010(64bit)
2.OS(64bit) + AccessRuntime2010(64bit)
3.OS(64bit) + Office2010(32bit)
4.OS(64bit) + AccessRuntime2010(32bit)
5.OS(32bit) + Office2010(32bit)
6.OS(32bit) + AccessRuntime2010(32bit)
※ OS:XP~Windows8まで
上記のどの組み合わせでも動くようなAccessの実行ファイルは作成可能ですか?
93:デフォルトの名無しさん
13/04/04 19:39:15.05 .net
>>91
URLリンク(tsware.seesaa.net)
94:デフォルトの名無しさん
13/04/12 00:23:04.15 .net
使用不可にいている3つのテキストボックスを、
チェックボックスをonにすると使用可能にするにはどうしたらいいでしょうか?
95:デフォルトの名無しさん
13/04/12 01:37:21.85 .net
>>93
Private Sub チェックボックス_Click()
If Me.チェックボックス.Value = True Then
Me.テキストボックス1.Enabled = True
Me.テキストボックス2.Enabled = True
Me.テキストボックス3.Enabled = True
Else
Me.テキストボックス1.Enabled = False
Me.テキストボックス2.Enabled = False
Me.テキストボックス3.Enabled = False
End If
End Sub
96:デフォルトの名無しさん
13/04/12 11:57:39.57 .net
>>92
参考にさせてもらいました。
ありがとうございます。
引き続き質問なのですが、
Windows8(32bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合に毎回ではないのですが、
レーダーチャートの目盛りが正常に表示されません。(-3E+259と表示される)
なお、表示しているデータは毎回同じものです。
ちなみに、Windows8(64bit) + Access2010(32bit)環境で作成したファイルを
Windows8(64bit) + Access2010(32bit)環境で実行した場合も同様でした。
この現象について何かご存知の方がいらっしゃいましたらお願いします。
97:デフォルトの名無しさん
13/04/12 17:36:38.89 .net
>>94
もう少しシンプルなコードはないですか?
わがままですみません。
98:デフォルトの名無しさん
13/04/12 17:42:08.68 .net
>>96
Private Sub チェックボックス_Click()
Me.テキストボックス1.Enabled = Me.チェックボックス.Value
Me.テキストボックス2.Enabled = Me.チェックボックス.Value
Me.テキストボックス3.Enabled = Me.チェックボックス.Value
End Sub
99:デフォルトの名無しさん
13/04/12 18:36:06.95 .net
>>97
すばやいご回答ありがとうございました。
いろいろな書き方があるんですね。
100:デフォルトの名無しさん
13/04/12 22:29:10.45 .net
Excelスレでも聞いたのですが、
以下のような時間の計算結果を出す関数として
0:00~0:44 0:30
0:45~1:14 1:00
1:15~1:44 1:30
=IF(A1<"0:15"*1,"0:30"*1,MROUND(A1,"0:30"))
というアドバイスをしてくれた方がいましたが、
これに相当するコードが全くわかりません。
丸投げですがどなたか教えてくださいませ。
101:桃白白
13/04/13 02:40:34.80 .net
>>99
Function marume(ByVal s As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If s < Q Then
marume = H
Else
marume = Fix((s + Q) / H) * H
End If
End Function
102:デフォルトの名無しさん
13/04/13 17:33:29.73 .net
>>100
フォームの[実時間]の時間によって[時間]に結果を出す場合で、
Function 時間(ByVal 実時間 As Double) As Double
Dim Q As Double
Dim H As Double
Q = TimeValue("0:15")
H = TimeValue("0:30")
If 実時間 < Q Then
時間 = H
Else
時間 = Fix(([実時間] + Q) / H) * H
End If
End Function
としましたがうまくいかず、どこをどうしたら良いのかまるでわかりません。
ご指摘お願いいたします。
103:桃白白
13/04/13 20:28:48.85 .net
>>101
あら。結果がずれてた? それともなんか変な動きした?
引数の形式が違うのかな。どういう入力でどう出力された?
104:デフォルトの名無しさん
13/04/13 21:29:31.16 .net
>>102
[開始時間]に入力、[終了時間]に入力後、
時間の差を[実時間]に表示し、これを基に[時間]に結果を表示したい、という流れですが、
フォームを開くだけで以下の、
「イベント プロパティに指定した式 読み込み時でエラーが発生しました:
このメンバー識別子は既にオブジェクトモジュールの中に存在しています。」
※マクロ名、ユーザー定義関数、[イベント プロシージャ]以外の式が指定されています。
※関数、イベント、マクロの評価でエラーが発生しました。
というエラーメッセージがでますが、正直理解できていません。
105:桃白白
13/04/14 01:59:24.64 .net
>>103
コントロールの名前と関数の名前が競合してるんでない?
コントロールと関数を別の名前にしてコントロールソースで紐付けて
やっちゃえばいいよ。こんな感じで。
Database1.zip download
URLリンク(kie.nu)
106:デフォルトの名無しさん
13/04/14 14:28:32.69 .net
>>104
うわー、ファイルのアップまでしていただき本当にありがとうございます。
テーブルに記録しておく必要があったため、
Private Sub 終了時間_AfterUpdate()
時間 = Marume(実サービス時間)
End Sub
ということで全てスッキリしました。
いただいたコード自体見てもほとんど理解しきれてませんが、
これから勉強しながら頑張ってみます。
再度、本当にありがとうございました。
107:デフォルトの名無しさん
13/04/19 11:54:05.25 .net
フォームのプロパティにある「コード保持」って何でしょうか?
「はい/いいえ」はどのように使い分けるのでしょうか?
108:デフォルトの名無しさん
13/04/19 12:30:11.35 .net
存在しないオブジェクトに関連したコードを不要になったときに自動で削除する機能がある
たとえば"ボタンA"をクリックしたときのコードを書いてある状態で
あとで"ボタンA"を"ボタンB"に名称変更したりしたときに
コード保持が「いいえ」だと"ボタンA"をクリックしたときのコードは捨てられる
109:デフォルトの名無しさん
13/04/19 16:04:50.27 .net
どもです
つまりコード保持は、名称変更をした際に以前のコードが消えても良い
または名称変更は絶対にしないような状況であれば、「いいえ」を選択しておいても良い
と言うことで間違いないですか?
どこかで「いいえ」にした方が速度が速くなる的なことが書いてあった覚えがあるので・・・
110:デフォルトの名無しさん
13/04/19 16:43:59.98 .net
>>107
名前の自動修正オプションとこんがらがってないか?
>>108
コード消えるのはフォームかレポート単位だぞ
名前変更とか関係なくて、そのフォームのコード全部消えるぞ
ヘルプにはコードが無いからいいえの方が処理が早いとは書いてあるな
その分制約もあるが
ヘルプみて意味がわからないなら、設定変えるのはやめとけ
111:デフォルトの名無しさん
13/04/22 10:00:33.47 .net
>>109
遅くなりましたが、ありがとです
試しにフォームを作成時に、「いいえ」を選択しておいた状態で
イベントプロシージャを設定してみました。
その時点で自動的に「はい」に切り替わるんですね。
そしてコードを使うフォーム、レポートが1000個を超えるものは作れないと言う事なんですね。
勉強になりました。
112:デフォルトの名無しさん
13/04/25 11:56:04.36 .net
タブコントロールでページ5枚作る。
チェックボックスによって表示ページ数を切り替えたい。
・チェックなし : ページ1~ページ5
・チェックあり : ページ2~ページ4
そのため、チュックボックスのイベントプロシージャで、一旦全部のページを非表示にして
そのあと、必要なページを表示するようにしてみました。
For i=0 To 5
Me.Controls("ページ" & i).Visible = False
Next i
For i=Starrt To Start+Cnt
Me.Controls("ページ" & i).Visible = False
Next i
それで、ページ5を選択している状態でチェックありにすると
消したはずのタブの周りの枠が残ってしまいます。
これを綺麗に消す方法ってありませんか?
環境はAccess2010です。
113:111
13/04/25 12:00:42.84 .net
忘れてましたがタブの背景色を変更したいので
タブコントロールのプロパティで「テーマの使用」を「はい」に設定してあります。
114:デフォルトの名無しさん
13/04/25 14:29:36.88 .net
消す前に違うページを選択すれば良いだけじゃないのか?
115:デフォルトの名無しさん
13/05/21 13:36:25.32 .net
チェックボックスの true が -1 から 1 に変わったようです
2007からでしょうか?
変更がめんどくさい
116:デフォルトの名無しさん
13/05/22 11:48:10.00 .net
>>114
2003と2007で試したけど非連結で画面でチェックした場合はどちらも-1になる
ただし、コードで1をセットしたら1のままだった
まず1をセットするコード書くのが悪い
そして、1でも-1でもBooleanとして評価したらTrueなんだから
そんな事に影響されるコード書くのが悪い
117:デフォルトの名無しさん
13/05/22 14:18:44.22 .net
>チェックボックスの true が -1 から 1 に変わったようです
>2007からでしょうか?
キリっ
118:デフォルトの名無しさん
13/05/22 14:27:02.75 .net
知らんがな
ってレスしようと思ったけど
かわいそうなので放っといた
119:デフォルトの名無しさん
13/06/04 02:35:18.23 .net
月曜会社を休んで家で土曜から月曜までVBAをひたすら書き続けた結果
頭が超重くなって3日目は何やってるかよくわからないまま終わってしまった
VBAのコーディングをぶっ通しでやるのは2日が限界か?
120:デフォルトの名無しさん
13/06/05 22:11:38.14 .net
>>118
限界は人それぞれだろうが、無理はすんなよ
121:デフォルトの名無しさん
13/06/21 00:57:48.54 .net
access 2003 にて
SendObjectメソッドを利用して、メールを送信したいと思っています。
実際にメールを送れるようにはなっているのですが、
送信メール本文に「mdbファイルと同一ディレクトリにある単体の.msgファイルの本文」(.msgファイルの場所はフルパス指定でも構いません)
を表示させる事は可能でしょうか?
イメージ的には、テーブルから送信先アドレスを収集し、.msgファイルの本文の内容をテンプレートとして一括送信する
と言った感じです。
122:デフォルトの名無しさん
13/06/21 01:01:26.56 .net
書き忘れました。
メール送信ソフトはoutlookです。
123:デフォルトの名無しさん
13/06/21 07:11:37.65 .net
.msgファイルの形式ってたぶん公開されてないんだよなぁ
どうやってメールを.msgで保存してるかしらんが、そっちを変更した方が楽な気がする
outlookでもVBAは使えるぞ
124:デフォルトの名無しさん
13/06/30 18:38:52.19 .net
>>120
OutLookのSession.OpenSharedItemで.msgファイルの読み込みできるが
他のアプリからOutLookいじるのはお勧めしない
OutLook側でmdbに書きだすとか、プレーンテキストで保存するとかした方が良いんじゃね
125:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
質問です
ODBCの接続する際に
IDとパスワードを入力するボックス(VBAで設定したものではない)がありますが、
初めから半角英数字になるように設定はできますか?
126:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
VBAで設定したものではないものを、VBAでどうこうするのは無理があります
127:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
>>125
ですよね。
IDやパスワードを入力するときに各々気を付けてもらうしかないですね。
128:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
>>126
プロパティにないの?
129:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
ODBCのミドル層で出てるダイアログだから、アクセス側からいじれるプロパティなんてないだろ
自分でIDとパスワード入力してもらうフォーム作ってそこに入力してもらえ
130:デフォルトの名無しさん
13/08/31 NY:AN:NY.AN .net
DBの持ち物か。すまん。
ダイアログの出る直前にACCESSで入力を固定して終わったら解除ってできないのかね。
(調べてない、ただの理想を述べてみた。)
131:デフォルトの名無しさん
13/09/01 00:30:06.54 .net
>>129
>>124が言ってるのは多分、ODBCで接続するときにユーザとパスワードを指定しなかったときに出るやつ
自分でちゃんと接続できるユーザとパスワード指定したら出ない
間違ったユーザやパスワード設定したらしらん
132:デフォルトの名無しさん
13/09/01 02:59:29.29 .net
Access初心者です。
VBAでExcelからデータをコマンドボタンで自動インポートさせる物を
作っています。
インポート漏れがないかのチェック処理もさせたいのですが、
どのようにすればいいかわかりません、ご教授お願いします。
133:デフォルトの名無しさん
13/09/01 03:24:10.08 .net
>>131
レコード数で比較すれば?
134:デフォルトの名無しさん
13/09/01 03:48:29.03 .net
>>132
ありがとうございます。
仮に件数が合わなくてインポート漏れしたレコードを
特定するための処理をいれることはできますか?
135:デフォルトの名無しさん
13/09/01 03:59:24.56 .net
ユニークキーで差分とれよ
少しは考えろよ
136:デフォルトの名無しさん
13/09/01 04:00:02.93 .net
>>133
ユニークキーで差分とれよ
少しは考えろ
137:デフォルトの名無しさん
13/09/01 08:49:32.79 .net
インポート漏れなんてあるの?
138:デフォルトの名無しさん
13/09/01 09:02:48.06 .net
結構ある
あと勝手にデータ変換されてたりもする
139:デフォルトの名無しさん
13/09/01 09:25:38.41 .net
そうか
ならインポートしてからチェックするより自前のコードでインポートした方がいいんじゃない?
140: 【だん吉】
13/09/01 09:31:40.27 .net
自分はそうしてる
141:デフォルトの名無しさん
13/09/01 10:05:17.59 .net
ウィザードにまかせてるとひどい目にあう
142:デフォルトの名無しさん
13/09/01 10:35:21.42 .net
Access初心者なので、そのVBAのコードの書き方がわかりません
教えていただけませんか
143:デフォルトの名無しさん
13/09/01 10:36:54.67 .net
いいですよ
144:132
13/09/01 19:42:00.26 .net
>>131
www.nurs.or.jp/~ppoy/access/access/acX014.html
145:デフォルトの名無しさん
13/09/01 20:23:21.63 .net
インポート漏れするデータ欲しい
試してみたい
146:デフォルトの名無しさん
13/09/01 23:14:50.69 .net
数字型のとこに文字入ってるデータとか用意したらいいんじゃね
147:デフォルトの名無しさん
13/09/01 23:38:03.38 .net
>>145
うーん、そういうデータをインポートすると普通にエラーとして扱われて
「テーブル名_$インポート エラー」 ってテーブルが生成されるから
インポート漏れのレコードがわからなくて困る、なんて状況にはならないんだよね
148:デフォルトの名無しさん
13/09/02 10:35:57.67 .net
インポート漏れのレコードがわからなくて困る、なんて状況になると言ってる人はいないが
149:デフォルトの名無しさん
13/09/02 10:57:43.03 .net
おもろいな
150:デフォルトの名無しさん
13/09/05 23:50:52.09 .net
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, _
strac, strxls, True, strrange
上記でインポート エラーになるので引数のacImportのところに、
作成したインポート定義にしたいのですができるのでしょうか
151:デフォルトの名無しさん
13/09/07 03:42:11.28 .net
よし
152:デフォルトの名無しさん
13/09/07 16:59:26.27 .net
そもそもワークシート変換にインポート定義とかないだろ
153:デフォルトの名無しさん
13/09/09 01:4
154:6:05.73 .net
155:デフォルトの名無しさん
13/09/09 02:08:51.60 .net
ページヘッダーじゃなくて、その項目でグループ化してヘッダー作る
そのヘッダーかフッターで改ページを設定する
詳細の高さを4行分になるようにヘッダ、フッタや余白を調整する
つか、VBAまったく関係ない話
156:デフォルトの名無しさん
13/09/09 07:18:08.57 .net
>>153
ここはVBAのスレですよね?VBAと関係ある話をしてください。
VBAとまったく関係ない話をしたのはあなたです。VBAでお願いします。
157:デフォルトの名無しさん
13/09/09 13:03:59.99 .net
VBAを一言で表すと
158:デフォルトの名無しさん
13/09/09 13:20:44.56 .net
>>154
マジレスしといてやるが、VBAでやるよりよっぽど>>153の方法の方が良いぞ
だがあえてVBAでやりたいなら
明細セクションの最初と最後に改ページコントロール(改ページ1,2)を配置して
Dim 行数 As Integer
Dim 前コード
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me.改ページ1.Visible = False
Me.改ページ2.Visible = False
前コード = Me.フィールド5
End Sub
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
If Me.フィールド5 <> 前コード Then
Me.改ページ1.Visible = True
行数 = 0
Else
Me.改ページ1.Visible = False
End If
前コード = Me.フィールド5
行数 = 行数 + 1
If 行数 > 4 Then
Me.改ページ2.Visible = True
行数 = 0
Else
Me.改ページ2.Visible = False
End If
End Sub
こんな感じ。この例ではフィールド5が変わったら改ページな
159:デフォルトの名無しさん
13/09/09 13:22:34.74 .net
う。 は空白に置換してくれ
つか普通に貼り付けできなくなったのかよ
160:デフォルトの名無しさん
13/09/10 00:16:36.47 .net
>>156
もう少し教えてください。。。
明細が5明細あった場合、
コードA
00001
00002
00003
00004
改ページ
コードA
00005
改ページ
コードB
00001
00002
00003
改ページ
コードC
00001
こんな感じで出したいのですが
161:デフォルトの名無しさん
13/09/10 02:26:08.63 .net
>>158
>>156が理解できないなら、VBAでやるのやめとけ
162:sage
13/09/17 19:50:09.24 .net
Accessのクエリで、「クエリの並び替え条件を動的に変更する」方法を
教えて頂けないでしょうか。
現状は、下記のクエリを作成しましたが、並び替え条件として判定されません。
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
よろしくお願いします。
163:デフォルトの名無しさん
13/09/17 20:22:56.49 .net
>>160
SELECT * FROM テーブル1
ORDER BY FORMS!画面1!テキスト1.Value
これってどこに書いてるの?
164:デフォルトの名無しさん
13/09/17 21:44:28.61 .net
>>160
どうしてもやりたいならQueryDefとか使えばできるかもしれんが
動的にSQLつくってDoCmd.RunSqlでやる方がいいんじゃね
165:160
13/09/17 22:09:44.82 .net
>>161
Accessの「クエリ」で定義していました。
>>162
ご指摘を受けた点を参考にクエリを作成した所、うまく行きました。
ありがとうございます。
166:デフォルトの名無しさん
13/10/20 21:44:25.62 .net
株価のデータベースを作りVBAで銘柄の抽出をしています
VBAを呼ぶ度にSQLで株価データを読み込んでるので日に何度もやると結構無駄です
そこでフォームをロードした時に纏めて銘柄毎のクラスオブジェクトを作り
フォームをアンロードするまで保持したいのですが可能でしょうか?
変数の保持はStaticで良いようですが、配列化してるオブジェクトの保持はどのようにするのでしょうか?
167:デフォルトの名無しさん
13/10/20 22:06:18.65 .net
view
168:デフォルトの名無しさん
13/10/20 22:10:51.15 .net
すごいVBA発見w
URLリンク(esuafai.digi2.jp)
169:164
13/10/20 22:56:11.74 .net
フォームと連動させるのではなく、最初に実行させる時にStaticで保持し
2度目からオブジェクトが空ではないならデータを取りに行かずに
値渡しするようにして解決しました
170:デフォルトの名無しさん
13/10/21 00:11:20.78 .net
なんか色々つっこみどろこ満載だな
まあ、動いてるならいいか
171:デフォルトの名無しさん
13/11/05 18:56:30.39 .net
VBAでリモートのデータベースにトランザクション処理を開始して、コミット/ロールバックするのはわかりました。
これをマクロのアクションだけではできないですよね。
Vbaを嫌がる仲間が同一プロジェクト内にいるので。
172:デフォルトの名無しさん
13/11/16 13:17:48.50 .net
初心者ですみません。コンパイルってなんですか?
173:デフォルトの名無しさん
13/11/16 13:19:54.03 .net
疲労困憊る
174:デフォルトの名無しさん
13/11/16 13:40:52.90 .net
コンパイルダー・オン
175:デフォルトの名無しさん
13/11/16 15:59:42.46 .net
昔広島にあったSTGや落ちゲーキャラゲー開発してた会社
176:デフォルトの名無しさん
13/11/16 17:51:44.57 .net
あったなぁ
177:デフォルトの名無しさん
13/11/16 18:27:38.04 .net
脳みそコネコネの会社?なくなったのか?
178:デフォルトの名無しさん
13/11/16 18:29:57.41 .net
マジレスしとこう
>>170
ソースプログラムを実行可能形式に変換する事
簡単に言えば、お前が書いたプログラムを実行できるように準備する作業
ACCESSなら勝手にやってくれるから、意識する必要はない
179:デフォルトの名無しさん
13/11/16 19:25:11.96 .net
>>175
1998年に無くなって、落ちゲー関係はセガが買い取った
180:デフォルトの名無しさん
13/11/16 21:35:05.65 .net
>>176
なるほど。では、あえてコンパイルという作業をしなくてもOK
ってことですね。
あるがとうございます!
181:デフォルトの名無しさん
13/11/25 21:45:32.92 .net
Accessの場合、ソースを中間コードに変換する作業をコンパイルと呼んでる。
その過程でソースにエラーがあるかどうかをチェックするから
実行時エラーとかの対策にはコンパイル通しておいた方が良いと思う。
182:デフォルトの名無しさん
13/11/26 02:50:39.57 .net
実行時エラーってのは普通、コンパイルは通った後に発生するエラーの事を言うんだが
まあ、実行時にコンパイルエラー出るのもなんだし、事前にコンパイルしとけってのは同意するが
183:デフォルトの名無しさん
14/01/31 12:48:48.93 .net
Access独自の便利機能なのか分かりませんが
テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るのですが
これをVBAでやるにはどうしたら良いのでしょうか?
テキストに規則性が無いためにOrderByなどでは対応出来ません
テキストフィールドに入ってる文字列の例:
"第3四半期決算を1月10日に発表済み"
"第3四半期決算を2月10日"
"本決算を2月13日"
"---"
このようになってても、テーブルのフィールドを選択してソートが出来るとは初めて知ったのですが
VBAからやる方法が分かりません
184:デフォルトの名無しさん
14/01/31 13:00:11.86 .net
>>181
>テキストに規則性が無いためにOrderByなどでは対応出来ません
最初に書いたSQLが悪かったみたいで
これで出来ました。サーセン
185:デフォルトの名無しさん
14/01/31 15:57:33.35 .net
辞書順と偶然一致しただけなんじゃないの
186:デフォルトの名無しさん
14/01/31 18:24:40.76 .net
そもそも
>テキスト型のフィールドで日付が含まれる文を「日付順にソート」出来るの
これが怪しいんだが
どこでこんな事教えられたんだ
187:デフォルトの名無しさん
14/01/31 19:17:48.82 .net
そうだな、俺も出来るとは思ってなかった
しかし、実際その通りに動くのだから仕方がないw
だから最初に「Access独自なのか」と思ってるのだが
これが出来るのは2013だからかもしれない
188:デフォルトの名無しさん
14/01/31 19:30:53.46 .net
テキスト型だから、文字数順に並び替えてるのかと思って試してみた
"本決算を2月13日"、これを"本決算を1月13日"に書き換えて試すと
日付順に並び替わる>>181の例で言うと真ん中に来る
更に"第3四半期決算を2月10日"、これを"第2四半期決算を2月10日"
とやっても日付順に並び替わるので間違いない、>>181の例で言うと一番最初に来る
しかし、2月3日と02月03日表記では並び方が変わる
具体的にはMD表記郡の中でソートされ、MMDD表記郡の中でソートされる
189:デフォルトの名無しさん
14/01/31 19:54:34.74 .net
分かった。�
190:Oグったら出てきた 2007から出来るらしいけど、勝手に日付を解釈してるのではなく 正確にはテキスト部分を無視して数値順に並び替えてる、らしい
191:デフォルトの名無しさん
14/01/31 21:40:18.27 .net
ということはデータを統一しないといけませんね
192:デフォルトの名無しさん
14/01/31 22:33:10.45 .net
ソートの問題じゃなくて暗黙の型変換の問題な気はするけど
>テキスト部分を無視して数値順に並び替えてる
普通にソートすればテキストでソートするんだが
どうやったらそんなソートするんだ?
193:デフォルトの名無しさん
14/01/31 22:39:33.21 .net
どんな型変換すればそうなるのか、逆に聞いてみたい
194:デフォルトの名無しさん
14/02/01 13:42:22.69 .net
あいまいな検索をしたい場合はLike *検索文字列* だけど
これだと、先頭文字列に外字が含まれてる場合は検索されない
のだけれど、回避方法はある?
195:デフォルトの名無しさん
14/02/02 23:15:37.86 .net
>>191
ちゃんと検索できるっぽいけど
先頭文字に外字ってのは、検索対象のテーブルデータなのか、Likeに指定する文字列なのか?
196:デフォルトの名無しさん
14/02/03 09:59:08.52 .net
>>192
先頭に含まれる外字は検索対象のテーブルデータです
文字列の中間に外字が含まれる場合は検索できるのに、
先頭だと検索されない減少が発生する…
197:デフォルトの名無しさん
14/02/03 16:26:19.10 .net
>>193
かるく試したが再現しないな
OSかACCESSのバージョンによる問題か
単にお前の勘違いか
ACCESSでも限定された状況でのバグか
MDB(ACCDB)がぶっ壊れてるか
まあ、単に検索できないレコードに不正なデータが混じってるだけだと思うが
198:191
14/02/03 18:14:37.26 .net
一応解決したっぽい
原因として、dbmagicにodbc経由でリンクテーブルに
したのがダメらしい
リンクテーブルをやめて、テーブルデータごとインポートしたら
通常通りに検索できた
みんなありがと
199:デフォルトの名無しさん
14/02/03 18:49:01.92 .net
喰らえカスども、奥義「後出し特殊条件!」
200:デフォルトの名無しさん
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物件名でソートした物件リストに丸投げしちゃいます