AccessのVBAに関する質問スレです
★1 質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンは必ず書きましょう。
★2 AccessのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 AccessのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★5 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
関連スレ
Excel VBA 質問スレ Part23
http://toro.2ch.net/test/read.cgi/tech/1327763113/l50
探検
Access VBA 質問スレ Part1
■ このスレッドは過去ログ倉庫に格納されています
2012/02/06(月) 22:53:46.88
543デフォルトの名無しさん
2016/01/14(木) 21:12:26.51ID:RIYdCmvc テーブルにインポートするとたまに失敗する変なゴミデータが入ったエクセルファイルをVBAでテーブルに登録しようとしてます。1レコード100フィールドほどあるもので、addnewで登録すると100件で20秒ほど掛かってしまいます。
Insertでも23秒でした。
全部で10万件あるのですが、高速登録する方法ないでしょうか?
Insertでも23秒でした。
全部で10万件あるのですが、高速登録する方法ないでしょうか?
544デフォルトの名無しさん
2016/01/14(木) 22:01:16.12ID:fK8eMzuy545デフォルトの名無しさん
2016/01/14(木) 22:04:06.66ID:fK8eMzuy ゴミは数式やエラー値が混ざってるんだろうから配列にした段階で適当に変換する
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
この後でテーブル登録する
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
この後でテーブル登録する
546デフォルトの名無しさん
2016/01/14(木) 23:52:25.44ID:SY7xxp+v >>543
パフォーマンス重視ならレコードセットやExcelオブジェクトは扱わない方が良いですよ
1.インポート定義でインポート
2.リンクテーブルを作って追加クエリ
3.SQL の IN 句使って INSERT
4.OLE DB の Jet か ACE で接続して INSERT
などなど...
ゴミが混ざるならゴミを許容する作業テーブルにインポートしてから後始末をするとか
処理の仕方も色々あると思います、頑張ってください
パフォーマンス重視ならレコードセットやExcelオブジェクトは扱わない方が良いですよ
1.インポート定義でインポート
2.リンクテーブルを作って追加クエリ
3.SQL の IN 句使って INSERT
4.OLE DB の Jet か ACE で接続して INSERT
などなど...
ゴミが混ざるならゴミを許容する作業テーブルにインポートしてから後始末をするとか
処理の仕方も色々あると思います、頑張ってください
547デフォルトの名無しさん
2016/01/14(木) 23:55:58.95ID:SY7xxp+v 書き忘れ
インポート定義は文字列切り詰めなどが起きるかもしれないので
使うなら想定しておいた方が良いです
インポート定義は文字列切り詰めなどが起きるかもしれないので
使うなら想定しておいた方が良いです
548デフォルトの名無しさん
2016/01/15(金) 00:07:44.49ID:obwNql4P レコード長とかPCのスペックとかもわからんが
コードでもっと早くできる余地がいっぱいある気がするぞ
というか、純粋な追加で時間かかってるのか?
エラーチェックに時間かかってるんじゃないのか
コードでもっと早くできる余地がいっぱいある気がするぞ
というか、純粋な追加で時間かかってるのか?
エラーチェックに時間かかってるんじゃないのか
549デフォルトの名無しさん
2016/01/17(日) 14:16:21.53ID:A2o/pomn access2013の質問がしたいのですがここでは不可でしょうか?探してもスレが見つからなかったので誘導していただけないでしょうか?
550デフォルトの名無しさん
2016/01/17(日) 18:47:14.28ID:wzxdIUIG 聞くがよい
551デフォルトの名無しさん
2016/01/18(月) 17:00:22.89ID:cbTDZ81K Access総合相談所 27
http://peace.2ch.net/test/read.cgi/bsoft/1424828244/
http://peace.2ch.net/test/read.cgi/bsoft/1424828244/
552デフォルトの名無しさん
2016/01/20(水) 21:12:14.20ID:b2HKKJl2 access 2013での質問です。
テーブルAの構成要素は【id(オートナンバー)、写真(添付ファイルで複数値を持つフィールド)】となっております。
この状態で、テーブルAの任意のIDに写真が入っているか否かを確認したいと考えております。
今のところ
dim RS As DAO.Recordset2
set RS = CurrentDb.OpenRecordset(
テーブルAの構成要素は【id(オートナンバー)、写真(添付ファイルで複数値を持つフィールド)】となっております。
この状態で、テーブルAの任意のIDに写真が入っているか否かを確認したいと考えております。
今のところ
dim RS As DAO.Recordset2
set RS = CurrentDb.OpenRecordset(
553デフォルトの名無しさん
2016/01/20(水) 21:13:28.67ID:b2HKKJl2 すみません、途切れました
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分を使ってみたのですが、上手く行きません。
お忙しいところ恐縮ですが、アドバイスを戴けると幸いです。
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分を使ってみたのですが、上手く行きません。
お忙しいところ恐縮ですが、アドバイスを戴けると幸いです。
554デフォルトの名無しさん
2016/01/21(木) 00:33:33.20ID:eWUPCZWU 添付ファイルで複数値を持つフィールド ってのがよくわからん
そのフィールドのデータ型と
実際に内容をセットしてるコード出してみ
そのフィールドのデータ型と
実際に内容をセットしてるコード出してみ
555デフォルトの名無しさん
2016/01/21(木) 07:45:42.44ID:7TL6zMKQ >>554
お返事ありがとうございます。
TABLEAのフィールド"写真"にデータをセットするのはフォーム上で行っております。
MsgBox TypeName(.Fields("写真")) で確認をしてみたところ、
Field2 オブジェクト (DAO)
ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx
と返ってきました。
これで伝わりますでしょうか?
お返事ありがとうございます。
TABLEAのフィールド"写真"にデータをセットするのはフォーム上で行っております。
MsgBox TypeName(.Fields("写真")) で確認をしてみたところ、
Field2 オブジェクト (DAO)
ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx
と返ってきました。
これで伝わりますでしょうか?
556デフォルトの名無しさん
2016/01/21(木) 12:58:17.49ID:zpe1QHZ3 伝わったが答える気にはならなかった
557デフォルトの名無しさん
2016/01/21(木) 13:50:34.34ID:tpiDrCnM テーブルAのあるレコードでは【写真】に外部からデータが入っていて,違うレコードでは入っていないから,それを確認したいということ?
RS_写真のeofとbofを調べれば良いだけだと思う.
ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx
ここにサンプルが有るから頑張って
RS_写真のeofとbofを調べれば良いだけだと思う.
ttps://msdn.microsoft.com/ja-jp/library/office/ff194326.aspx
ここにサンプルが有るから頑張って
558デフォルトの名無しさん
2016/01/21(木) 15:33:43.41ID:zpe1QHZ3 これはひどい
559デフォルトの名無しさん
2016/01/21(木) 18:39:11.58ID:eWUPCZWU560デフォルトの名無しさん
2016/01/21(木) 19:53:25.15ID:dhgW0ru6 添付ファイル型っていうのがあってだな云々・・・
561デフォルトの名無しさん
2016/01/21(木) 20:32:40.23ID:xJzWoKjV > If RS_写真.Fields("FileName") = "" Then
FileData?
データが入ってたらFileNameとは何を指すのだ
FileData?
データが入ってたらFileNameとは何を指すのだ
562デフォルトの名無しさん
2016/01/21(木) 20:50:12.31ID:dhgW0ru6 フィールドに複数データが入るんだけど、ファイル名とファイル本体がセットになって入るイメージなんじゃないかな。
>>553 は配列のような捉え方で書いてるんだと思う。
フィールドがnullなのかを見ればいいんだろうけど、ファイル名を指定してそのファイル本体の有無を見たいのかな。
でもそれだとファイル名のみがあってファイル本体がないってことがあり得ることが前提になると思うんだけど。
>>553 は配列のような捉え方で書いてるんだと思う。
フィールドがnullなのかを見ればいいんだろうけど、ファイル名を指定してそのファイル本体の有無を見たいのかな。
でもそれだとファイル名のみがあってファイル本体がないってことがあり得ることが前提になると思うんだけど。
563デフォルトの名無しさん
2016/01/21(木) 21:21:29.71ID:eWUPCZWU 添付ファイル型なら
RS_写真のEOFと(MoveLastしてから)RecordCountみれば、添付されてるファイルの件数はわかる
RS_写真のEOFと(MoveLastしてから)RecordCountみれば、添付されてるファイルの件数はわかる
564553
2016/01/22(金) 16:35:45.14ID:FxZxO26V565デフォルトの名無しさん
2016/01/28(木) 08:27:25.34ID:cOsSJrMS Access2010のVBAの動作にて質問です。
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,
566デフォルトの名無しさん
2016/01/28(木) 09:02:23.84ID:cOsSJrMS 途中で切れてしまったので再度質問させていただきます。
Access2010のVBAの動作にて質問です。
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,"クエリ名","出力先\ファイル名.csv"
と言う文を使っているのですが、クエリの行が複数の場合は1行ごとに出力をしたいのですがどうすればよろしいのでしょうか。
Access2010のVBAの動作にて質問です。
現在クエリのデータをCSV形式にて出力をするために
DoCmd.TransferText acExportDelim, ,"クエリ名","出力先\ファイル名.csv"
と言う文を使っているのですが、クエリの行が複数の場合は1行ごとに出力をしたいのですがどうすればよろしいのでしょうか。
567デフォルトの名無しさん
2016/01/28(木) 09:25:27.95ID:xQdz3S4b568デフォルトの名無しさん
2016/02/01(月) 21:40:46.53ID:uqBwC27M ACCESS VBAでoracleのデータを読み書きする場合は
リンクテーブルを作ってやるのが普通でしょうか?
それともリンクせずに直接ORACLEにアクセスするのがよいでしょうか?
リンクテーブルを作ってやるのが普通でしょうか?
それともリンクせずに直接ORACLEにアクセスするのがよいでしょうか?
569デフォルトの名無しさん
2016/02/01(月) 22:12:10.32ID:HIlaIvm8 べつにSQL ServerでもORACLEでも同じだとおもうけど
ケースバイケースとしか言えん
ケースバイケースとしか言えん
570デフォルトの名無しさん
2016/02/02(火) 09:04:52.93ID:nmsl1byO リンク使わないなら別にAccessじゃなくても良いよね、って回答はダメ?
571デフォルトの名無しさん
2016/02/02(火) 10:25:44.88ID:OPpL3JBW ハマってしまいました、cell とoffsetとloopの関係が解明できません。
エクセルデータから一行ずつhtmlファイルを作成するということをしたいです。
minitemplatorを使っています。
試しに3行でつくってみるとファイル名は変わるのですが、
set変数の箇所が一行目のままかわりません。
↓こんなVBAにしてあります
Private Const START_CELL =
エクセルデータから一行ずつhtmlファイルを作成するということをしたいです。
minitemplatorを使っています。
試しに3行でつくってみるとファイル名は変わるのですが、
set変数の箇所が一行目のままかわりません。
↓こんなVBAにしてあります
Private Const START_CELL =
572デフォルトの名無しさん
2016/02/02(火) 10:28:02.77ID:OPpL3JBW すみません
Private Const START_CELL = "T3"
Public Sub PushButton()
'
Dim Cell As Range
Dim Temp As MiniTemplator
Set Temp = New MiniTemplator
'テンプレートファイルを読み込みます。
Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html"
'セルのスタート位置を設定します。
Set Cell = Range(START_CELL)
'現在アクティブになっているシートの最終行まで以下を繰り返します。
Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Temp.SetVariable "TITLE", Cell.Offset(0, 1).Value
Temp.SetVariable "CHAPTER", Cell.Offset(0, 2).Value
Temp.SetVariable "PREVCHAPTER", Cell.Offset(0, 3).Value
Temp.SetVariable "PREVPAGE", Cell.Offset(0, 4).Value
Temp.SetVariable "INDEX", Cell.Offset(0, 5).Value
Temp.SetVariable "NEXTPAGE", Cell.Offset(0, 6).Value
Temp.SetVariable "NEXTCHAPTER", Cell.Offset(0, 7).Value
Temp.AddBlock "htmls"
Temp.GenerateOutputToFile ThisWorkbook.Path & "\" & Cell & ".html"
Set Cell = Cell.Offset(1, 0)
Loop
End Sub
Private Const START_CELL = "T3"
Public Sub PushButton()
'
Dim Cell As Range
Dim Temp As MiniTemplator
Set Temp = New MiniTemplator
'テンプレートファイルを読み込みます。
Temp.ReadTemplateFromFile ThisWorkbook.Path & "\h00_0.html"
'セルのスタート位置を設定します。
Set Cell = Range(START_CELL)
'現在アクティブになっているシートの最終行まで以下を繰り返します。
Do While Cell.Row <= ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
Temp.SetVariable "TITLE", Cell.Offset(0, 1).Value
Temp.SetVariable "CHAPTER", Cell.Offset(0, 2).Value
Temp.SetVariable "PREVCHAPTER", Cell.Offset(0, 3).Value
Temp.SetVariable "PREVPAGE", Cell.Offset(0, 4).Value
Temp.SetVariable "INDEX", Cell.Offset(0, 5).Value
Temp.SetVariable "NEXTPAGE", Cell.Offset(0, 6).Value
Temp.SetVariable "NEXTCHAPTER", Cell.Offset(0, 7).Value
Temp.AddBlock "htmls"
Temp.GenerateOutputToFile ThisWorkbook.Path & "\" & Cell & ".html"
Set Cell = Cell.Offset(1, 0)
Loop
End Sub
573571
2016/02/02(火) 10:30:04.88ID:OPpL3JBW 申し訳ない!accessの方に書き込んでしまいました、excelの方へ移動いたしますorz
574デフォルトの名無しさん
2016/02/02(火) 15:13:01.55ID:ml14fhOB >>570
メインのDBはSQLServerやACCDBだけど、特定のデータだけ
別DBのORACLEからとって来たいなんて要件だったりしたら
ORACLEにリンクテーブル作るほどでは無かったりするかもしれんだろ
メインのDBはSQLServerやACCDBだけど、特定のデータだけ
別DBのORACLEからとって来たいなんて要件だったりしたら
ORACLEにリンクテーブル作るほどでは無かったりするかもしれんだろ
575デフォルトの名無しさん
2016/02/02(火) 15:27:20.80ID:chGMw9p3 これはひどい
576デフォルトの名無しさん
2016/02/02(火) 17:32:28.26ID:nmsl1byO577デフォルトの名無しさん
2016/02/02(火) 19:38:08.47ID:ml14fhOB >>576
何が言いたいのかわからん
リンクテーブルかそれ以外でのアクセスかって質問に対して
ACCCESSならリンクテーブル一択だろ、見たいな事を言うから
そうじゃない状況もあるだろって言ってるんだが
何が言いたいのかわからん
リンクテーブルかそれ以外でのアクセスかって質問に対して
ACCCESSならリンクテーブル一択だろ、見たいな事を言うから
そうじゃない状況もあるだろって言ってるんだが
578デフォルトの名無しさん
2016/02/02(火) 22:01:22.04ID:nmsl1byO >>577
質問者はOracleをAccessから操作する場合はどちらかを聞いている訳で
その状況ならリンクで良いんじゃね、と答えただけ
そこにお宅が勘違いして質問にないSQL Server絡めて否定してきたから
ちゃんと質問内容見ろよ、と返しただけ
質問者はOracleをAccessから操作する場合はどちらかを聞いている訳で
その状況ならリンクで良いんじゃね、と答えただけ
そこにお宅が勘違いして質問にないSQL Server絡めて否定してきたから
ちゃんと質問内容見ろよ、と返しただけ
579デフォルトの名無しさん
2016/02/03(水) 16:11:02.04ID:/VnwDmrp 両成敗
580デフォルトの名無しさん
2016/02/04(木) 08:30:21.82ID:aSn7db66 >>579
うるせぇよ、顔面男性器
うるせぇよ、顔面男性器
581デフォルトの名無しさん
2016/02/04(木) 15:29:20.74ID:oKzBZVFr >>580
うん
うん
582デフォルトの名無しさん
2016/02/07(日) 19:26:30.89ID:PcQYM9su Accessでエクセルファイル読もうと思ってExcelオブジェクトを作成した時、
既にエクセルを立ち上げているとマクロの挙動がおかしくなったり、
あるいは後からエクセルを立ち上げようとするとマクロが終了するまで画面が白いままなのですが、
これを避けてAccess側のみで扱えるエクセルオブジェクトを作ったり、あるいはエクセルと併用したりという事は出来ないでしょうか?
スプレッドシートのインポートは暗号化の影響で上手くいかないので、エクセルオブジェクトを通す必要があります。
既にエクセルを立ち上げているとマクロの挙動がおかしくなったり、
あるいは後からエクセルを立ち上げようとするとマクロが終了するまで画面が白いままなのですが、
これを避けてAccess側のみで扱えるエクセルオブジェクトを作ったり、あるいはエクセルと併用したりという事は出来ないでしょうか?
スプレッドシートのインポートは暗号化の影響で上手くいかないので、エクセルオブジェクトを通す必要があります。
583デフォルトの名無しさん
2016/02/08(月) 15:38:17.85ID:qbvivMLd >>582
できるよ
できるよ
584デフォルトの名無しさん
2016/02/08(月) 18:15:52.92ID:V9YCd2yR つか普通にやればそうなってたと思ったけど
CreateObjectって、インスタンスあったらそれ掴んで返すのか?
CreateObjectって、インスタンスあったらそれ掴んで返すのか?
585デフォルトの名無しさん
2016/02/10(水) 00:18:50.90ID:SmKUXNow vbaでも知りたいのですが、accessで列見出しを行見出しにするには、どんなコードを書けばいいでしょうか?クロス集計ではできませんでした。
586デフォルトの名無しさん
2016/02/10(水) 09:07:48.34ID:FkM1RfeE587デフォルトの名無しさん
2016/02/22(月) 10:46:47.09ID:4/RFA0DI 金はあるけど時間がない
経験値100倍くらいになる課金ないんか
経験値100倍くらいになる課金ないんか
588デフォルトの名無しさん
2016/02/22(月) 10:47:20.99ID:4/RFA0DI すまん
誤爆った
誤爆った
589デフォルトの名無しさん
2016/02/22(月) 12:20:31.39ID:Y1bHL8fN >>587
それな
それな
590デフォルトの名無しさん
2016/02/22(月) 12:21:37.50ID:GAqrdc9h591デフォルトの名無しさん
2016/02/22(月) 18:37:53.19ID:QLpZ1xcH うざ
592デフォルトの名無しさん
2016/02/24(水) 23:35:39.37ID:UmTzYcDx 日常的にAccessのピボットテーブルをCtrl+A Ctrl+Cして
Excelに貼り付けてるんですが
これをVBAできませんでしょうか
Excelに貼り付けてるんですが
これをVBAできませんでしょうか
593デフォルトの名無しさん
2016/02/25(木) 10:52:35.16ID:xnX4JkuY できますん
594デフォルトの名無しさん
2016/02/25(木) 13:16:09.91ID:W1s9bb7v >>592
Googleスプレッドシートは簡単に関数でソレが実現できます。
ちなみに、Accessでは「貼り付ける」行為は出来なくはないです。ただ、オートメーションでやる
ならそういうことになりますが、普通はExcel上でピボットを作成スべきでしょう。
Googleスプレッドシートは簡単に関数でソレが実現できます。
ちなみに、Accessでは「貼り付ける」行為は出来なくはないです。ただ、オートメーションでやる
ならそういうことになりますが、普通はExcel上でピボットを作成スべきでしょう。
595デフォルトの名無しさん
2016/02/25(木) 22:25:15.86ID:DG6YFXpT596デフォルトの名無しさん
2016/02/26(金) 15:13:34.90ID:VQGl6zaq VBAで
597デフォルトの名無しさん
2016/02/26(金) 18:31:07.27ID:A3HYqZte 全選択なら単にエクセルにエクスポートすればいいんじゃないの?
598デフォルトの名無しさん
2016/03/04(金) 22:35:15.49ID:KUnf3VuC 質問 Access2010
突然、フォームのデータシートビューで列を入れ替えてもその状態が保存されないようになってしまいました。
いろいろと原因を調べてみるとOpenやLoadイベントでフィルター設定を行うとそんなトラブルが起こってしまうようなのです。
Private Sub Form_Open(Cancel As Integer)
Me.Filter = "ID>3" '例
Me.FilterOn = True
End Sub
皆さんの所でも再現出来ますでしょうか
ちなみに自宅のAccess2002ではこういった異常な動作は起こりませんでした
またこれって有名なバグとかなんでしょうか
突然、フォームのデータシートビューで列を入れ替えてもその状態が保存されないようになってしまいました。
いろいろと原因を調べてみるとOpenやLoadイベントでフィルター設定を行うとそんなトラブルが起こってしまうようなのです。
Private Sub Form_Open(Cancel As Integer)
Me.Filter = "ID>3" '例
Me.FilterOn = True
End Sub
皆さんの所でも再現出来ますでしょうか
ちなみに自宅のAccess2002ではこういった異常な動作は起こりませんでした
またこれって有名なバグとかなんでしょうか
599デフォルトの名無しさん
2016/03/24(木) 22:15:00.25ID:aSgI1iJJ access 2010
windows7
DoCmd.OutputTo acReport,
windows7
DoCmd.OutputTo acReport,
600デフォルトの名無しさん
2016/03/24(木) 22:16:25.19ID:aSgI1iJJ access 2010
windows7
DoCmd.OutputTo acReport, "hoge_table", acFormatXLS, "C:\hoge.xls"
レポートファイルをxlsへ出力するときに
「実行時エラー 2587 出力が完了できません」が
出てきてしまいます。
実行時エラー2587を検索しても情報が出てこない為、
困っています。
どなたか何が原因かわかりますでしょうか?
先月までは機能していたんですが、
今月から急に上記エラーが出てくるようになりました。
windows7
DoCmd.OutputTo acReport, "hoge_table", acFormatXLS, "C:\hoge.xls"
レポートファイルをxlsへ出力するときに
「実行時エラー 2587 出力が完了できません」が
出てきてしまいます。
実行時エラー2587を検索しても情報が出てこない為、
困っています。
どなたか何が原因かわかりますでしょうか?
先月までは機能していたんですが、
今月から急に上記エラーが出てくるようになりました。
601デフォルトの名無しさん
2016/03/25(金) 13:31:48.84ID:ctOehyRA プリンタが変わった レポートの書式が変わった(文字コード系)
再インストールで復帰した というようなresが 英語のフォーラムだけど
手動でエクスポートした場合も同じエラーかどうか
ん?レポートファイルをxlsへ? "hoge_table" テーブルをxlsへの間違い?
テーブルをcsv出力してxlsなら? とかいろいろ
再インストールで復帰した というようなresが 英語のフォーラムだけど
手動でエクスポートした場合も同じエラーかどうか
ん?レポートファイルをxlsへ? "hoge_table" テーブルをxlsへの間違い?
テーブルをcsv出力してxlsなら? とかいろいろ
602デフォルトの名無しさん
2016/03/25(金) 16:30:30.08ID:e4gujGfG データが増えてリソース不足、ってのが一番考えられる理由だけど
何のリソースかはわからんが
もうちょっと詳細なエラー内容ないのかね
何のリソースかはわからんが
もうちょっと詳細なエラー内容ないのかね
603デフォルトの名無しさん
2016/03/25(金) 21:03:03.83ID:WqFryHCY 今、先月のhoge_tableをoutoputしたらどうなの
604デフォルトの名無しさん
2016/04/27(水) 21:09:35.11ID:KUAYo6wN フォーム上でリストボックスを選択すると、その他のテキストボックスに値が入る仕組みってどうやったらできますか?
605デフォルトの名無しさん
2016/04/27(水) 23:03:47.34ID:Sazji9Gw Me.[その他のテキストボックス] = Me.[リストボックス].Value とか
Me.[その他のテキストボックス] = Me.[リストボックス].Column(n) とかを
リストボックス クリック時イベントに仕込む うろ覚え
Me.[その他のテキストボックス] = Me.[リストボックス].Column(n) とかを
リストボックス クリック時イベントに仕込む うろ覚え
606デフォルトの名無しさん
2016/04/28(木) 01:08:29.45ID:ybePhPhs >>605
後者の場合で、表示させたデータを別のテーブルに保存させるにはどうすればいいですか?
後者の場合で、表示させたデータを別のテーブルに保存させるにはどうすればいいですか?
607デフォルトの名無しさん
2016/04/28(木) 09:47:32.29ID:wel45o+X ワークテーブルに入れるなりしてSQLとか追加クエリとか
608デフォルトの名無しさん
2016/04/28(木) 17:15:09.15ID:iPy/jEF0609デフォルトの名無しさん
2016/07/12(火) 06:40:44.26ID:o2wIdsaQ ExcelのシートからADOでデータ取り込みをやろうとしてます
ルックアップで別のテーブルを参照しているフィールドを持つテーブルにレコードを追加したいのですが
具体的にはExcelシートには都道府県名が文字列で入っていて
Accessのテーブルは都道府県名は別テーブルを参照して数値で持っています
色々試してみたのですが 追加先テーブルの数値型のフィールドには数値しか入力できず
参照している先のテーブルの"東京都"などの文字列データはUpdateでエラーが出ます
(あたりまえでしょうけど)
こういった参照先データで入力したい場合 なにか良い方法があるのでしょうか?
ルックアップで別のテーブルを参照しているフィールドを持つテーブルにレコードを追加したいのですが
具体的にはExcelシートには都道府県名が文字列で入っていて
Accessのテーブルは都道府県名は別テーブルを参照して数値で持っています
色々試してみたのですが 追加先テーブルの数値型のフィールドには数値しか入力できず
参照している先のテーブルの"東京都"などの文字列データはUpdateでエラーが出ます
(あたりまえでしょうけど)
こういった参照先データで入力したい場合 なにか良い方法があるのでしょうか?
610デフォルトの名無しさん
2016/07/12(火) 16:15:23.94ID:/KovKhYj 別テーブルを参照して数値を入れる
611デフォルトの名無しさん
2016/07/12(火) 19:00:20.62ID:o2wIdsaQ >>610
やっぱり それしか無いですかね
何万行もあったから データ入力する度に別テーブルのFindFirstとかやってID見つけるの
コスト凄いかと思ってたんですが
やってみたら それほど時間かからなかったです
やっぱり それしか無いですかね
何万行もあったから データ入力する度に別テーブルのFindFirstとかやってID見つけるの
コスト凄いかと思ってたんですが
やってみたら それほど時間かからなかったです
612デフォルトの名無しさん
2016/07/12(火) 21:49:03.75ID:hENPvfBC 都道府県名が入ってるシートって郵便番号のあれですかね
まぁ質問の意味がよくわかんないから無視して結構です
まぁ質問の意味がよくわかんないから無視して結構です
613デフォルトの名無しさん
2016/08/24(水) 19:34:34.65ID:3q4Jyrt7 SQLでテキストデータを取り込む時、ヘッダー行を任意の位置で指定する事は出来ますか?
読み込もうとしているcsvファイルのヘッダー行が3行目なので、この位置から読み込ませたいのです。
色々調べたんですが、外部データベースを取り込む際のキーワードがなかなか出てこず苦戦しています。
読み込もうとしているcsvファイルのヘッダー行が3行目なので、この位置から読み込ませたいのです。
色々調べたんですが、外部データベースを取り込む際のキーワードがなかなか出てこず苦戦しています。
614デフォルトの名無しさん
2016/08/24(水) 21:33:54.83ID:XY92uhDq 開始行を含めるか含めないかしかなかった様に思う。
取り込んでしまってからヘッダー行を消すSQL実行したらはやいかも。
取り込んでしまってからヘッダー行を消すSQL実行したらはやいかも。
615デフォルトの名無しさん
2016/08/24(水) 22:13:48.17ID:3q4Jyrt7616デフォルトの名無しさん
2016/09/29(木) 17:49:20.39ID:Z3hVyFqu SQLで質問ですが、
select * from DATATBL group by NAME
こんな感じで集計させても結果が0になってしまうのですが、書式間違ってますか?
ちなみにC++BuilderからMicrosoft.Jet.OLEDB.4.0でmdbファイル操作してます。
select * from DATATBL group by NAME
こんな感じで集計させても結果が0になってしまうのですが、書式間違ってますか?
ちなみにC++BuilderからMicrosoft.Jet.OLEDB.4.0でmdbファイル操作してます。
617デフォルトの名無しさん
2016/09/29(木) 18:41:58.74ID:2yQBgN/R select NAME, COUNT(*) from DATATBL group by NAME
618デフォルトの名無しさん
2016/09/29(木) 18:55:56.52ID:Z3hVyFqu >>617
返答ありがとうございます。
しかしながら selectでNAMEのみを指定すると項目が足らんみたいなエラーが出てしまいます。
select *, COUNT(*) from DATATBL group by NAME
こうするとエラーは出ませんが、結果はやはり0になってしまいます
返答ありがとうございます。
しかしながら selectでNAMEのみを指定すると項目が足らんみたいなエラーが出てしまいます。
select *, COUNT(*) from DATATBL group by NAME
こうするとエラーは出ませんが、結果はやはり0になってしまいます
619デフォルトの名無しさん
2016/09/29(木) 19:18:38.30ID:Z3hVyFqu620デフォルトの名無しさん
2016/09/30(金) 11:38:14.95ID:tD6+ktpC またSQLで質問ですが、
DATEでソートしてからNAMEをグループ化したいので
select NAME from (select * from TESTTABLE order by DATE) as group by NAME
上記のようにしたのですが結果が0になってしまいます。
何処が間違ってますか?
DATEでソートしてからNAMEをグループ化したいので
select NAME from (select * from TESTTABLE order by DATE) as group by NAME
上記のようにしたのですが結果が0になってしまいます。
何処が間違ってますか?
621デフォルトの名無しさん
2016/09/30(金) 11:43:24.10ID:tD6+ktpC あ、as取ったらいけました
622デフォルトの名無しさん
2016/09/30(金) 13:45:49.20ID:VqVPXDNJ GROUP BY 後の順序は保証されてなかったと思う
確実にやるならグループ化してからソート
確実にやるならグループ化してからソート
623デフォルトの名無しさん
2016/09/30(金) 13:59:26.62ID:4mQfWuIk いいかげんスレチ
624デフォルトの名無しさん
2016/10/01(土) 18:16:06.96ID:94YBKalt すみませんが教えて下さい。
Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate
Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate
625デフォルトの名無しさん
2016/10/01(土) 18:24:50.88ID:94YBKalt すみませんが教えて下さい。
Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate で正常にページが表示されています。
そのフォームを右クリックでデザインビューに切り替えると以下のエラーが出来ます。
StatusTextChange でエラーが発生しました(以下略)
ちなみに×ボタンで普通に閉じるとこのエラーは発生しません。
Access2016でも同様でした。
ご存知の方がいらっしゃいましたらお願い致します。
Access2010でフォームにWebブラウザコントロールを張り、
Me![ScrollInfo].Navigate で正常にページが表示されています。
そのフォームを右クリックでデザインビューに切り替えると以下のエラーが出来ます。
StatusTextChange でエラーが発生しました(以下略)
ちなみに×ボタンで普通に閉じるとこのエラーは発生しません。
Access2016でも同様でした。
ご存知の方がいらっしゃいましたらお願い致します。
626デフォルトの名無しさん
2016/11/10(木) 12:17:09.05ID:MJMdCBmm sendobjectでレポートをPDFで添付して送ろうとすると
添付されたファイル名が・.pdfになるのは仕様ですかね?
ACCESSとOutlookは2013です
ただAccessのファイルはmdb形式
添付されたファイル名が・.pdfになるのは仕様ですかね?
ACCESSとOutlookは2013です
ただAccessのファイルはmdb形式
627デフォルトの名無しさん
2016/11/10(木) 12:51:09.43ID:dxAJlx69 どうしたいの?
628デフォルトの名無しさん
2016/11/10(木) 13:28:54.05ID:MJMdCBmm 添付ファイルが"元となったレポート名".pdfになるのかと思っていたのだけど、違うのかなという疑問
629デフォルトの名無しさん
2016/11/10(木) 13:29:38.75ID:dxAJlx69 それで通じるとかマジで思ってる?
630デフォルトの名無しさん
2016/11/10(木) 14:01:21.25ID:lT3NS9hL 通じないか…すまん
Docmd.Sendobjectを使ってレポートをPDFに変換してメール送信したい
実行はできているが、変換されてメールに添付されたファイル名が・.pdfになってしまう。
これがなぜ・になるか知りたい。
レポートのオブジェクト名は・ではない。
日本語名がNGなのか?
Docmd.Sendobjectを使ってレポートをPDFに変換してメール送信したい
実行はできているが、変換されてメールに添付されたファイル名が・.pdfになってしまう。
これがなぜ・になるか知りたい。
レポートのオブジェクト名は・ではない。
日本語名がNGなのか?
631デフォルトの名無しさん
2016/11/10(木) 14:37:03.21ID:dxAJlx69 そう思うなら ASCII のファイル名とか UTF-8 のファイル名試してみれば?
632デフォルトの名無しさん
2016/11/10(木) 14:38:13.94ID:uCLe8e7d >>630
MIMEでiso-2022-jpとかにしてみ
MIMEでiso-2022-jpとかにしてみ
633デフォルトの名無しさん
2016/11/10(木) 20:01:07.80ID:lT3NS9hL レポートの表題がファイル名になることがわかった。
レスくれた方ありがとう。
レスくれた方ありがとう。
634デフォルトの名無しさん
2016/12/28(水) 11:38:08.54ID:qa9jiDer ?Eval("'山ー田' Like '*山田*'")
-1
何で?
Win7x64+Acs2010
-1
何で?
Win7x64+Acs2010
635デフォルトの名無しさん
2016/12/28(水) 12:22:36.72ID:JT952dSj >>634
そりゃ真ん中に入ってるからだと思うが。
そりゃ真ん中に入ってるからだと思うが。
636デフォルトの名無しさん
2017/01/01(日) 18:08:01.09ID:T039qKRQ -1はTrueだから一致することについて疑問に思ってるのでは
637デフォルトの名無しさん
2017/01/01(日) 20:32:48.66ID:F1PmU62+638デフォルトの名無しさん
2017/01/01(日) 20:35:20.03ID:F1PmU62+ すまん環境書き忘れた
Win10 x64, Access2016 32bit
Win10 x64, Access2016 32bit
639デフォルトの名無しさん
2017/01/01(日) 22:05:32.13ID:5bQycJKK 文字判定だから、アクセント無視で長音記号が無視されてるだけだと思ったけど
?Eval("'山xー田' Like '*山田*'")
も-1だな
?Eval("'山ーx田' Like '*山田*'")
は0だった
長音記号無視するルールになんかあるのかもしれん
?Eval("'山xー田' Like '*山田*'")
も-1だな
?Eval("'山ーx田' Like '*山田*'")
は0だった
長音記号無視するルールになんかあるのかもしれん
640デフォルトの名無しさん
2017/01/02(月) 21:00:22.06ID:Qo2R7jJK クエリでもヒットしちゃうな。
641デフォルトの名無しさん
2017/01/04(水) 15:01:47.06ID:rtXdgiQY 利用環境
access2010
Windows7
上記環境で同時接続400人程度のファイルを作成しようとしています
管理者2〜3人が100〜1000件程度のレコードを編集しながら
400人程度が編集したレコードを参照。参照後に自動で既読フラグを
access内のテーブルに入力する仕組みです
上記イメージで利用する場合、400人が同時に既読情報を
DBに対して入力することになります。
(実際は入力するタイミングがずれるので同時編集は
多くて100人程度になりそうです)
Accessは負荷に耐えきれるのでしょうか?
400人の既読情報を40個のテーブルに分割して
リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?
社内セキュリティの制約でAccessしか利用が出来ない状態なので
他のツールを使用することは出来ないです
お手数をおかけしますが、お分かりの方がいらっしゃれば
ご教授をお願い致します
access2010
Windows7
上記環境で同時接続400人程度のファイルを作成しようとしています
管理者2〜3人が100〜1000件程度のレコードを編集しながら
400人程度が編集したレコードを参照。参照後に自動で既読フラグを
access内のテーブルに入力する仕組みです
上記イメージで利用する場合、400人が同時に既読情報を
DBに対して入力することになります。
(実際は入力するタイミングがずれるので同時編集は
多くて100人程度になりそうです)
Accessは負荷に耐えきれるのでしょうか?
400人の既読情報を40個のテーブルに分割して
リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?
社内セキュリティの制約でAccessしか利用が出来ない状態なので
他のツールを使用することは出来ないです
お手数をおかけしますが、お分かりの方がいらっしゃれば
ご教授をお願い致します
642デフォルトの名無しさん
2017/01/04(水) 15:08:19.02ID:XZra0ySO 全員が同じaccess開くならやめとけ
>400人の既読情報を40個のテーブルに分割して
>リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?
そこまで分けなくても
テーブル専用mdbと参照専用mdbに分けて
参照専用mdbを400人全員ローカルに置く
参照専用mdbからテーブル専用mdbにリンクするだけでいいんじゃね
>400人の既読情報を40個のテーブルに分割して
>リンクテーブルで負荷を分散させれば実用範囲になるのでしょうか?
そこまで分けなくても
テーブル専用mdbと参照専用mdbに分けて
参照専用mdbを400人全員ローカルに置く
参照専用mdbからテーブル専用mdbにリンクするだけでいいんじゃね
643デフォルトの名無しさん
2017/01/04(水) 15:25:42.45ID:JR/sdM0U■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 高市早苗「株やってる奴ザマァwww格差是正のためにも、もっと暴落した方がいいよwww」(´・ω・`)確かに。 [252835186]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- んなっしょい🍬禁止🈲のお🏡
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- なんかデカいミスしても 「でも明日戦争行くかもしれないしなぁ」 でなんでも乗り切れるよな
