Access VBA質問箱 IV

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

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


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

【11172】Excelのwebクエリー⇒Access2003
質問  さんちゃん  - 09/8/6(木) 21:26 -

引用なし
パスワード
   初めまして、宜しくお願い致します。

 現在 Excelのwebクエリーにて、ホームページ上のデータを取得し、Access2003にインポートして集計を行っています。
 Excelのwebクエリーに相当する事を、Excelを使用しないでAccess2003で直接実行する方法が存在するのでしょうか?
・ツリー全体表示

【11171】Re:findメソッド エラー
回答  小僧  - 09/8/6(木) 9:06 -

引用なし
パスワード
   ▼さりー さん:
こんにちは。

> 実行時エラー 3021
> BOFとEOFのいずれかがTrueになっているか。
> または現在のレコードが削除されています


h tp://msdn.microsoft.com/ja-jp/library/cc948692.aspx

こちらの中ほどにある

> DAO と ADO では、指定する検索条件に一致するレコードが
> 見つからなかった場合の動作が異なります。

あたりが参考になるでしょうか。

>Do Until rs.EOF
>rs.Find sex
>Debug.Print rs!社員名
>rs.MoveNext
>Loop

Find メソッドを使った後に
見つかったかどうかの判定が必要になってきそうですね。
・ツリー全体表示

【11170】findメソッド エラー
質問  さりー  - 09/8/5(水) 20:12 -

引用なし
パスワード
   テーブル(tbl_m)に 性別 名前 フィールドを作っています

ADOで性別が男だけイミディエイトさせたいのですがエラーが出ます。

実行時エラー 3021
 BOFとEOFのいずれかがTrueになっているか。または現在のレコードが削除されています

イミディエイトに結果はでますがエラーも出るといった具合です。

どこがおかしいか教えてください


Public Sub kim()

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sex As Variant

Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset

rs.Open "tbl_m", cn, adOpenKeyset, adLockOptimistic

sex = "性別='男性'"

Do Until rs.EOF
rs.Find sex
Debug.Print rs!社員名
rs.MoveNext
Loop

rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing

End Sub
・ツリー全体表示

【11169】自己解決しました
お礼  phirostanian  - 09/8/1(土) 22:31 -

引用なし
パスワード
   すみません、解決しました。始めに書いていたプロ
シジャーで、カレントレコードがフォームになって
いるのをDAOでテーブルに指定しMe!をテーブル変数!
に変えたら出来ました。

有難う御座いました。
・ツリー全体表示

【11168】Re:AccessのテーブルからExcelの指定セル...
質問  phirostanian  - 09/8/1(土) 21:32 -

引用なし
パスワード
   ▼ゆみこん さん:
御返答有難う御座います。
>テーブル:データには1レコードしかデータはないのでしょうか?
質問をさせて頂くにあたり、解りにくくなったら申し訳ないと思い、
複数レコードについては書きませんでした。実際にはありますが、
テーブルから値を挿入する方法が見つかればloopすれば良いか
と安易に考えておりましたが・・・難しいのでしょうか。
・ツリー全体表示

【11167】Re:AccessのテーブルからExcelの指定セル...
発言  ゆみこん  - 09/8/1(土) 11:24 -

引用なし
パスワード
   Accessの経験はほぼ皆無ですので違っているかも知れませんが。

テーブル:データには1レコードしかデータはないのでしょうか?
もし一番最初のレコードを取得というのであれば、
ヘルプで【DFirst メソッド】を参考にしてみては如何でしょう。
⇒最後なら【DLast メソッド】かな。

レコードが複数ある場合なら、クエリを実行する必要があるように見受けられます。

的はずれでしたらごめんなさい。
・ツリー全体表示

【11166】AccessのテーブルからExcelの指定セルへ...
質問  phirostanian  - 09/8/1(土) 0:24 -

引用なし
パスワード
   初めまして。お世話になります。
現在顧客向け商品台帳を作ろうとしています。
作りたい内容としては、フォームのボタンをクリックすると、同データベース内指定のテーブルにある値を,指定したExcel内の指定したセルへの挿入です。
下記がフォームのボタンに指定したコードなのですが、指定したExcelまでは起動するのですが、その後上手い事テーブル内のデータをエクセルへ挿入出来ません。Accessのテーブルの名称はそのまま「データ」にしてあります。
どうやったらExcelの指定のセルへテーブルのデータを移行出来るでしょうか。
何卒宜しくお願い致します。
___

Option Compare Database
Private Sub コマンド0_Click()
On Error GoTo Err_コマンド0_Click
  Dim oApp As Object
  Set oApp = CreateObject("Excel.Application")
  oApp.Visible = True
  'Only XL 97 supports UserControl Property
  On Error Resume Next
  oApp.UserControl = True
  oApp.Workbooks.Open FileName:="C:\基本.xls" 
  oApp.Range("A2").Value = データ!画像
  oApp.Range("B2").Value = データ!KCD
  oApp.Range("C2").Value = データ!JANCD
  oApp.Range("D2").Value = データ!商品名
  oApp.Range("E2").Value = データ!出荷ロット
  oApp.Range("F2").Value = データ!出荷単位
  oApp.Range("G2").Value = データ!単価
  oApp.Range("I2").Value = データ!備考
Exit_コマンド0_Click:
  Exit Sub
Err_コマンド0_Click:
  MsgBox Err.Description
  Resume Exit_コマンド0_Click
End Sub
・ツリー全体表示

【11165】Re:サブフォームとのリレーション
お礼  おかおか  - 09/7/16(木) 9:12 -

引用なし
パスワード
   ▼YU-TANG さん:おはようございます。


いろいろとありがとうございます。
参考にさせて頂きます。


ありがとうございました。
・ツリー全体表示

【11164】Re:サブフォームとのリレーション
発言  YU-TANG  - 09/7/15(水) 0:11 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼おかおか さん:
>サブフォームを作ると、何が良いのでしょうか?

下記に答えがあるかもしれません。

サブフォームについて - Access - Microsoft Office Online
ht tp://office.microsoft.com/ja-jp/access/HP051883951041.aspx

そこには答えが載っていないようでしたら、何を知りたいのか
もう少し詳しくご説明ください。

それでは。
・ツリー全体表示

【11163】Re:サブフォームとのリレーション
発言  おかおか  - 09/7/14(火) 10:46 -

引用なし
パスワード
   ▼YU-TANG さん:お返事ありがとうございます。

サブフォームを作ると、何が良いのでしょうか?(←初心者ですいません)
Access大まかな部分しか分かっていないので、申し訳ないです。
・ツリー全体表示

【11162】Re:サブフォームとのリレーション
回答  YU-TANG  - 09/7/13(月) 22:46 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼おかおか さん:
>メインとサブフォームは、必ずリレーションで結び付けないと
>いけないのでしょうか??(←初心者ですいません)

サブフォーム コントロールのリンク親フィールドとリンク子
フィールドの設定は必須なのか、という意味でしょうか?
用語があいまいなので、意図を汲み取れているか微妙ですが、
もし上記の意味でしたら、別に必須ではありません。
連動させる必要がなければ、設定しなくても一向に構いません。
あるいは、連動させる必要があるけれど、リンクフィールドに
頼らず自前で連動機能を実装する、というのでもまったく問題
ありません。

>もし空白の場合は、適当な番号が自動に出る方法ってないですかね?

今のところ、Access にそのような人工知能は搭載されていませんね。
これが Access ではなく部下に対する業務命令だったとしても、
「適当」の定義を明確に伝えない限り(それが仮に「ランダム抽出」と
いう意味だったとしたら、それを伝えない限り)、人間ですら何をしたら
いいか見当が付かないと思いますよ(ただしエスパーを除く)。
なんでもいいなら、とりあえず DLookup 関数とか DFirst 関数あたりの
定義域集計関数がご希望に合うかどうか調べてみてはいかがでしょうか。

# 個人的には「なんでもいい」ようなものに、はたして表示する意味が
# あるのかどうか疑問なので、なんでもよくはないだろうという気も
# しますが。「適当」以外に形容されていないので、なんとも。

それでは。
・ツリー全体表示

【11161】条件付き書式
お礼  タケちゃん E-MAIL  - 09/7/3(金) 20:51 -

引用なし
パスワード
   ご回答有難うございます。
解決の手掛かりを得ることが出来ました。
早速、検討してみたいと思います。
・ツリー全体表示

【11160】Re:条件付き書式
回答  YU-TANG  - 09/7/2(木) 20:14 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼タケちゃん さん:
>テキストボックスに条件付き書式を設定したいのですが、
>エラーになって強制終了となります。
>VBAと関係ない問題と思いますが解決方法をお願いします。
>Accessのバージョンは2003で、OSはVistaです。

たとえば、下記に該当しているとか。

Microsoft Access Flaws - Conditional formatting
ht tp://allenbrowne.com/bug-05.html

もし該当していれば、回避方法を試してみては。
該当していなければ、その旨を報告すれば別の回答が付くかもしれません。
いずれにせよ、情報が不足しすぎて回答が付きにくい状態と思われるので、
再現条件をちゃんと提示したほうがよいでしょう。

それでは。
・ツリー全体表示

【11159】サブフォームとのリレーション
質問  おかおか  - 09/7/2(木) 16:45 -

引用なし
パスワード
   メインフォームとサブフォームとで管理番号でリレーションしてます。

管理番号は、主キーに設定してないので、空白でもOKなのですが、
空白にするとサブフォームのデータが出てこないですよね??

メインとサブフォームは、必ずリレーションで結び付けないと
いけないのでしょうか??(←初心者ですいません)

もし空白の場合は、適当な番号が自動に出る方法ってないですかね?
・ツリー全体表示

【11158】条件付き書式
質問  タケちゃん  - 09/6/28(日) 10:23 -

引用なし
パスワード
   テキストボックスに条件付き書式を設定したいのですが、
エラーになって強制終了となります。
VBAと関係ない問題と思いますが解決方法をお願いします。
Accessのバージョンは2003で、OSはVistaです。
・ツリー全体表示

【11157】Re:プロジェクトまたはライブラリが見つ...
お礼  山田  - 09/6/9(火) 16:39 -

引用なし
パスワード
   雅さん。ありがとうございます。

x = Chr(13) & Chr(10)
のところだけでなくdim宣言していない変数のところも
エラーが出なくなりました。

稚拙な質問ですみませんでした。
・ツリー全体表示

【11156】Re:プロジェクトまたはライブラリが見つ...
回答    - 09/6/9(火) 10:13 -

引用なし
パスワード
   こんにちわ。雅です。

たぶん、参照設定で参照不可になっているものがあると思います。
確認してみてください。

でわ。
・ツリー全体表示

【11155】プロジェクトまたはライブラリが見つかり...
質問  山田  - 09/6/8(月) 13:18 -

引用なし
パスワード
   パソコンを新しくwindows98からXPに変えました
accessは2000です
98で動いていたファイルをコピーしてきて実行したところ
Public Function のなかで dim宣言せずに使っている変数のところで
プロジェクトまたはライブラリが見つかりません
とエラーが出ます
dim宣言すればいいのはわかっていますが、直す箇所がたくさんあるので、一括して
何とかする方法はないでしょうか

また
x = Chr(13) & Chr(10)
のところで Chr の部分でやはり
プロジェクトまたはライブラリが見つかりません
となりますが、こちらはどうしたらよいかわかりません

ちなみにこのエラーがでると次から次へとメッセージが出て
accessを終了することができません
どうしたら終了できるようになるのでしょうか

初歩的な質問ばかりで申し訳ありませんがどうかよろしくお願いします
・ツリー全体表示

【11154】Re:ベースフォームをつくるためのクラス...
回答  YU-TANG  - 09/6/5(金) 22:28 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼sue さん:
>原因がわかる方いますでしょうか?
>フォームモジュール
>Private Sub Form_Load()
>Dim ClsForm As New cls_BaseForm

オブジェクト変数の宣言がプロシージャ レベルなので、
一瞬でインスタンスが破棄されるのが原因。
モジュールレベルで宣言すると良いでしょう。

とりあえず下記で、変数の有効期間について基礎知識を
入れると今後の役に立つと思います。

オブジェクト変数の適用範囲
ht tp://msdn.microsoft.com/ja-jp/library/cc376601.aspx

それでは。
・ツリー全体表示

【11153】ベースフォームをつくるためのクラス実装
質問  sue  - 09/6/5(金) 17:38 -

引用なし
パスワード
   ベースフォームを作っています。
以下のように実装したらF1押下によってメッセージボックスが開くはずですが、何もイベントが発生しません。
原因がわかる方いますでしょうか?
フォームモジュール
Private Sub Form_Load()
Dim ClsForm As New cls_BaseForm
Set ClsForm.BaseForm = Me.Form
End Sub
クラスモジュール
Private WithEvents cls_BaseForm As Access.Form
Public Property Set BaseForm(ByVal CtlBaseForm As Access.Form)
Set cls_BaseForm = CtlBaseForm
cls_BaseForm.InsideWidth = FORM_WIDTH'定数
cls_BaseForm.InsideHeight = FORM_HEIGHT'定数
cls_BaseForm.Main.BackColor = FORM_COLOR'定数
cls_BaseForm.KeyPreview = True
cls_BaseForm.OnKeyDown = "[Event Procedure]"

End Property

Public Property Get BaseForm() As Form
Set BaseForm = cls_BaseForm
End Property

Private Sub cls_BaseForm_KeyDown(KeyCode As Integer, Shift As Integer)

  If KeyCode = vbKeyF1 Then
MSGBOX "A"
  ElseIf KeyCode = vbKeyF2 Then

  ElseIf KeyCode = vbKeyF3 Then
  
  ElseIf KeyCode = vbKeyF4 Then
  
  ElseIf KeyCode = vbKeyF5 Then
  
  ElseIf KeyCode = vbKeyF6 Then
  
  ElseIf KeyCode = vbKeyF7 Then
  
  ElseIf KeyCode = vbKeyF8 Then
  
  ElseIf KeyCode = vbKeyF9 Then
  
  ElseIf KeyCode = vbKeyF10 Then
  
  ElseIf KeyCode = vbKeyF11 Then
  
  ElseIf KeyCode = vbKeyF12 Then
  
  End If
End Sub
・ツリー全体表示

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