Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6 / 500 ページ ←次へ | 前へ→

【13210】Re:更新クエリではFormat関数は使えない...
お礼  たけお E-MAIL  - 17/10/20(金) 9:00 -

引用なし
パスワード
   回答ありがとうございました。
でも結果は同じで「引数が無効です」というエラメーセージがでます。
・ツリー全体表示

【13209】Re:更新クエリではFormat関数は使えない...
回答  piroin  - 17/10/20(金) 0:46 -

引用なし
パスワード
   >Format([コード],"000000")

ではなく、

Format([コード],'000000')

のように、000000をシングルクォーテーション
で囲ってみればいいのでは?
・ツリー全体表示

【13208】Re:access連携 列名追加を簡単にするには...
お礼  りった  - 17/10/18(水) 12:47 -

引用なし
パスワード
   自己解決しました。

SELECT CUSTOMER_NAME AS ATTR1 ,,,,, 等とすれば、
列が増えてもほとんど修正しなくてよくなります。
トリッキーですが。
・ツリー全体表示

【13207】Re:フォルダ作成
お礼  taka  - 17/10/18(水) 6:47 -

引用なし
パスワード
   亀マスター 説明ありがとうございます。
作成することができました。本当にありがとうございました。
・ツリー全体表示

【13206】Re:フォルダ作成
回答  亀マスター  - 17/10/16(月) 19:07 -

引用なし
パスワード
   いくつか方法はありますが、簡便に行うのであれば
MkDirステートメントとNameステートメントを使います。

'フォルダを作成
MkDir "C:\Sample1\111"
'Sample2フォルダに入っていたa1.txtをSample1フォルダに移動
Name "C:\Sample2\a1.txt" "C:\Sample1\a1.txt"

もしくは、FileSystemObjectを使う方法もあります。

With CreateObject("Scripting.FileSystemObject")
  .CreateFolder "C:\Sample1\111"
  .MoveFile "C:\Sample2\a1.txt" "C:\Sample1\111"
End With
・ツリー全体表示

【13205】Re:どう動いているのかご教示ください。
回答  亀マスター  - 17/10/16(月) 18:45 -

引用なし
パスワード
   どこがどのように理解できないのかを書いていただければ
追加で回答を出すこともできます。必要であればどうぞ。
・ツリー全体表示

【13204】更新クエリではFormat関数は使えないので...
質問  たけお E-MAIL  - 17/10/16(月) 12:53 -

引用なし
パスワード
   テーブルの「コード」フイールドにテキスト型の数値が入力されています。
しかしそれらの桁数はバラバラです。
前に0を付けて、すべて6桁に変更するために更新クエリで「レコードの更新」欄に「Format([コード],"000000")」と設定したのですが「引数が無効です」のエラメッセージがでます。
選択クエリのフイールドに「桁数揃え:Format([コード],"000000")」に設定したものは問題なく機能します。
何故更新クエリでは「引数が無効です」のエラーになるのか原因が知りたいのですが・・・。
・ツリー全体表示

【13203】Re:どう動いているのかご教示ください。
お礼  りった  - 17/10/16(月) 12:43 -

引用なし
パスワード
   回答ありがとうございます。
(回答内容の一部をまだ理解できてませんが。)
・ツリー全体表示

【13202】フォルダ作成
質問  taka  - 17/10/16(月) 1:15 -

引用なし
パスワード
   アクセスで、
ある特定のテーブルの項目のデータ(仮に111)を記載した
テキストファイル a1.txt としてダウンロードします。

a1.txt ファイルの中身は、仮に111


そのテキストファイルの中身と同じ名前のフォルダ名(仮に111)
を指定のpathに作成し、
その作成されたフォルダの中に
a1.txtが格納されている状態にするにはどのようなしたらよいのでしょうか。

ご教示、よろしくお願いします。
・ツリー全体表示

【13201】Re:どう動いているのかご教示ください。
回答  亀マスター  - 17/10/12(木) 20:34 -

引用なし
パスワード
   VBAというよりAccessの基本的な質問な気はしますが。

どう動いているのかと言われても、実物のファイルを見ないことには
なんとも言えませんが、提示された情報から類推できることとして

> DoCmd.OutputTo acOutputReport, "売り上げデータ"
"売り上げデータ"というテーブルかクエリをレポートとして出力するということです。

>・"売り上げデータ"が何なのか、どこで定義を確認できるか?
リンクテーブルマネージャで確認できるエクセルファイルではないのですか?

>・accdbファイルを開くとフォームが表示されるのはなぜですか?
> (accessでは、すべてのフォームは起動時に表示される?何か指定している?)
Accessのオプションの
現在のデータベース>アプリケーションオプション>フォームの表示
でフォームが指定されているか、起動と同時に実行されるマクロで
フォームを開くよう指定されているかでしょう。
・ツリー全体表示

【13200】access連携 列名追加を簡単にするには?
質問  りった  - 17/10/12(木) 9:56 -

引用なし
パスワード
   縦にも横にもでっかいEXCELの表(以下、DB.xls)をAccess化しようとしています。
1件ずつの処理をするためのファイル(以下、FORM.xls)のB列のvalueは、
tableの列名と一致しています。
尚、上記、tableの列名を入力した範囲(FORM.xlsのB列)に、名前定義がされています。
指定したIDの情報を読む処理を考えているのですが、動的(※)に記述することは可能でしょうか?

※ 下記だけで、新規属性(DBの列)追加が出来る状態。
  FORM.xlsに行を挿入してB列にtableの列名を追加、DBのtableに列を追加

尚、守秘義務の都合で、実際のマクロよりかなり簡略化しています。

Sub sample()
  Dim DBpath As String
  Dim adoCn As ADODB.Connection ' ADOコネクションオブジェクト
  Dim adoRs As ADODB.Recordset ' ADOレコードセットオブジェクト
  Dim strSQL As String
  Dim ws As Worksheet
  
  Set ws = Sheet1
  ws.Cells.ClearContents
  
  DBpath = "C:\sample.accdb"
  Set adoCn = CreateObject("ADODB.Connection") 'ADOコネクションオブジェクトを作成
  Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成
  adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DBpath & ";"
  strSQL = "SELECT * FROM TSUKANIRAI WHERE ID = " & ws.Range("ID")
  adoRs.Open strSQL, adoCn
  
  ws.Range("C3").Value = adoRs!NO  ' ← この「NO」等が文字列であれば、やりようがあるのですが...
  ws.Range("C4").Value = adoRs!HANBAIBI
  ws.Range("C5").Value = adoRs!CUSTOMER_NAME
  ws.Range("C6").Value = adoRs!CUSTOMER_ADD
  
  adoRs.Close
  adoCn.Close
  
  Set adoRs = Nothing
  Set adoCn = Nothing
  
End Sub
・ツリー全体表示

【13199】どう動いているのかご教示ください。
質問  りった  - 17/10/12(木) 9:53 -

引用なし
パスワード
   業務で、前任者(or前…前任者)が作ったaccessのファイルを使っています。

上記accdbを開くと、フォーム?が表示されます。
フォーム上のボタンを押すと、集計表が印刷されます。
集計表の元データは外部ファイル(Excel)です。
自分にAccessの知識が無く、どう動いているのか分かりません。
どう動いているのかご教示頂けますでしょうか?

分かっていること:
・ボタンを押すと、下記マクロが実行される。
 DoCmd.OutputTo acOutputReport, "売り上げデータ"

・リンクテーブルマネージャを見ると、上記Excelファイルがある。

分かってないこと:
・"売り上げデータ"が何なのか、どこで定義を確認できるか?
・accdbファイルを開くとフォームが表示されるのはなぜですか?
 (accessでは、すべてのフォームは起動時に表示される?何か指定している?)

尚、Accessのバージョンは2010です。
・ツリー全体表示

【13198】Re:ACCESSの入力について
回答  nanapapa  - 17/9/28(木) 23:18 -

引用なし
パスワード
   ▼亀マスター さん:
>ここはVBAを扱っているところなので、ACCESS自体の基本的な使い方であれば
>それ用の質問掲示板などの方がいい回答を得られると思いますよ。
>
>質問に対する回答ですが、テーブルのデータと連結させたフォームに入力する場合、テーブルのデータが更新されるのは入力中のフォームを閉じるか、次のレコードに
>移動したタイミングになります。そのため、フォームに入力している最中に
>テーブルを確認しても、そのデータはまだ反映されていないということになります。
とにかくどの様に設定したのか知りたいです
非連結等々
連結すると大概はフォーカスを外したタイミングでてテーブルは反映してますー
・ツリー全体表示

【13197】Re:ACCESSの入力について
回答  亀マスター  - 17/9/27(水) 21:44 -

引用なし
パスワード
   ここはVBAを扱っているところなので、ACCESS自体の基本的な使い方であれば
それ用の質問掲示板などの方がいい回答を得られると思いますよ。

質問に対する回答ですが、テーブルのデータと連結させたフォームに入力する場合、テーブルのデータが更新されるのは入力中のフォームを閉じるか、次のレコードに
移動したタイミングになります。そのため、フォームに入力している最中に
テーブルを確認しても、そのデータはまだ反映されていないということになります。
・ツリー全体表示

【13196】ACCESSの入力について
質問  tonton  - 17/9/27(水) 0:26 -

引用なし
パスワード
   ACCESS初心者です。

ACCESSで名簿のテーブルを作成し、そのテーブルからフォームを作成しました。
フォームから新たにデータを入力してもテーブルには反映されません。
ツールボタンの「更新」を押すとテーブルに反映されます。
その都度、ツールボタンの「更新」を押さないと反映されないものなのでしょうか。どのテキストを見ても、そのようなことは書かれていません。
・ツリー全体表示

【13194】Re:日付(曜日)の漢数字変換
回答  亀マスター  - 17/9/7(木) 19:53 -

引用なし
パスワード
   エクセルの関数に数字を漢数字に変換するNUMBERSTRINGというものがあるので、

エクセルマクロなら
Evaluate("NUMBERSTRING(123456,1)")

アクセスやワードからなら
CreateObject("Excel.Application").Evaluate("NUMBERSTRING(123456,1)")

という感じで使えると思います。
NUMBERSTRINGはWorkSheetFunctionからは呼び出せないようなので、
代わりにEvaluateを使っています。
・ツリー全体表示

【13193】日付(曜日)の漢数字変換
質問  aki E-MAIL  - 17/9/7(木) 13:41 -

引用なし
パスワード
   日付テキストボックス{gggee\年mm\月dd"日("aaa)}の 例 平成29年8月21日(月)を

平成二十八年八月二十一日(月)の様に漢字変換する方法をご教示ください。
縦書きレポートを作成したいのです。
宜しくお願いします。
・ツリー全体表示

【13192】Re:リンク切れテーブルについて
回答  hatena  - 17/7/18(火) 17:32 -

引用なし
パスワード
   ▼sato さん:
>vbaで対象のリンクテーブルがリンク切れになっているか判断することは可能でしょうか。

テーブルを開いてみて、エラーになればリンク切れと判断すればいいでしょう。

Public Sub LinkCheck()
  Dim rs As DAO.Recordset
  
  On Error Resume Next
  Set rs = CurrentDb.OpenRecordset("テーブル1", dbOpenSnapshot)
  If Err <> 0 Then
    Debug.Print Err; Err.Description
    MsgBox "リンク切れ"
  End If
  rs.Close
  Set rs = Nothing
End Sub
・ツリー全体表示

【13191】リンク切れテーブルについて
質問  sato  - 17/7/18(火) 16:49 -

引用なし
パスワード
   教えて下さい。

vbaで対象のリンクテーブルがリンク切れになっているか判断することは可能でしょうか。
よろしくお願いします。
・ツリー全体表示

【13190】Re:文字列は半角英数字かの確認
回答  hatena  - 17/7/16(日) 14:15 -

引用なし
パスワード
   hatenachips.blog34.fc2.com/blog-entry-399.html

のそのままのコピペです。

まず、標準モジュールを新規作成します。名前は、mdlBinaryCompare とします。そこに、下記のコードをコピーして貼り付けます。


Option Compare Binary 'バイナリモードで文字列比較
Option Explicit

Public Function LikeB(s1, s2) As Boolean

  If IsNull(s1 + s2) Then Exit Function
  LikeB = s1 Like s2

End Function

これを保存します。

以上です。
・ツリー全体表示

6 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free