トップページ⇒tech
1001コメント375KB

Access使い集合!

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しきぼうNGNG
UNIX時間(1970年から秒単位10桁やつ)を
Access or VB で yyyy/mm/dd hh:mm:ss に変換する方法を
教えて下され!
0809デフォルトの名無しさんNGNG
>>808
マルチうざい
0810デフォルトの名無しさんNGNG
>>807
子フォームの内容を変更したときは親フォームの
ダーティーイベントは発生しないような気がするのですが、気のせいですか?
0811デフォルトの名無しさんNGNG
>>810
子フォームのダーティーイベントで
親フォームのダーティーイベントを呼び出せばいいだけじゃないのか?
0812デフォルトの名無しさん NGNG
false → フェールス
DAO → ディーエーオー
ADO → エーディーオー
Docmd → ドゥーコマンド
0813デフォルトの名無しさんNGNG
false → フォルス
DAO → ディーエーオー
ADO → アーディーオー
Docmd → ドゥーオマンコ
0814デフォルトの名無しさんNGNG
>>812-813
おもろないネタは適当に切り上げてくだちい。

> Docmd → ドゥーオマンコ
 こういうのどんな顔して書き込んでんのか見てみたい。
 つぅか、オツムの出来は幼児並み?
0815デフォルトの名無しさんNGNG
>>814
それより、その臭い口を早く閉じてくれないか
0816デフォルトの名無しさんNGNG
真っ赤な顔して本人登場(w
0817デフォルトの名無しさんNGNG
多分打ち間違いだろう
0818デフォルトの名無しさんNGNG
813の分析

おげれつギャグを発信する心理とは、
本人が、そのネタが思ってやっていることがあります。
どうして、面白いと思うのか。
自分がすでに「おげれつ病」となっているからです。
自分が病気の場合、その菌を他人に及ぼすことで、
自分の病気を治そうとしている深層心理があるのです。
それを隠すため、「面白い」と思うことになっているのです。
しかし、そうしたことをしても病気は治りません。
813のような症状を治すには、病院でも無理です。
では、813は、どうして病気になったのでしょうか。
こういったことはカウンセリングによって明らかになる場合もありますが、
普通のカウンセリングでは無理です。
しかし、一般的に原因は明白です。
それは、「エロ情報の過度な取得」です。
それによって、エロ情報からの世界に、
常に自分が入ってるような精神となります。
人が、感覚神経を通じて得た情報は、人の精神に影響を及ぼします。
その情報を、精神で判断し、拒否する場合と受け入れる場合があります。
813は、エロ情報を、受け入れすぎたタイプです。
その結果、精神がおげれつエロ的に洗脳され、ハタから見ると病気ですが、
本人には、自覚がありません。
では、813は、どうしてエロ情報を受け入れてしまったのでしょうか。
それは、一言でいえば、「ヴァカだから」です。
物事を知らなすぎるのです。
こういった人は、813だけではありません。
では、813のような病気を治すには、どうしたらいいのでしょうか。
それは、今まで自分が、受け入れてきたおげれつ洗脳を、解かなくてはなりません。
が、しかし、人間は主体性を持った存在ですので、
自分でおげれつ情報を受け入れたことは、自分の責任です。よって、
0819デフォルトの名無しさんNGNG
すでにデータが書き込まれたテーブルの
あるフィールドに、連番の番号を振りたいのですが、
こういうのってsqlではできないんでしょうか?
0820結論NGNG
813=不治の病

          完
0821デフォルトの名無しさんNGNG
>>819
sqlだけでは出来ないでう
連番の番号順にレコードを並べさせるsqlを組んで、
それに対して順次番号を記録していくプログラムでも組むのがよいかと。
0822デフォルトの名無しさんNGNG
>>821
カーソル使えばsqlだけでいいんじゃないの?
0823デフォルトの名無しさんNGNG
>>807
ダーティーイベントが発生するのはレコード移動時じゃなくて
レコードの内容を編集したとき。
0824デフォルトの名無しさんNGNG
>>819
mdbならmsのサイトにやり方のってる。
public関数でpublic変数に1ずつ足してって
クエリで並べ替えてそのままフィールドに関数入れるやつ
あまりお勧めしない。
0825デフォルトの名無しさんNGNG
>>807
勘違いしてるな。
[ダーティー時] はレコード編集時に1度だけ発生するイベント。
これはレコードに手を加えた瞬間に発生するイベントであり、
レコード移動時に発生するイベントでは無い。

>>806
レコード移動時にイベントを発生させるなら、
[レコード移動時] や [更新前処理](更新のキャンセルが可)なんかを使おう。
0826デフォルトの名無しさんNGNG
レコード移動時はレコードが移動した後に発生する。
また、更新前処理は子フォームの更新を察知できない。

よって、806の言っているとおり、自分でボタンを作るしか方法はないと思われ。
0827デフォルトの名無しさんNGNG
OutLook風のメニューバーを使いたいのですがどのようにすればよろしいでしょうか?
0828デフォルトの名無しさんNGNG
>>827
自分で作る、っつかOutLook風だけじゃわからん。せめてバージョン書け。
でもメアドは藁タ

>>826
子フォームと親フォーム、別々に更新前処理を用意しとけばいいんとちゃう?
同じ処理をさせたいなら、両方で同一の Public Sub を Call する。
0829デフォルトの名無しさんNGNG
>>826
どんなにがんばってもメニューバーにある
レコード削除ボタンや、レコード挿入ボタン、並べ替えボタンなどは
消すことができないという罠
ひょっとしてなにか方法ある?
0830デフォルトの名無しさんNGNG
>>829
起動時の設定では?
0831デフォルトの名無しさんNGNG
propertyの表示などで使われているfontを他のfontにしたいんだけど、
どうすればいいの?
0832デフォルトの名無しさんNGNG
何でお前等そこまで無理してAccess使ってるの?
0833デフォルトの名無しさんNGNG
そこにAccessの仕事があるからさ。
いやマヂで。
0834デフォルトの名無しさんNGNG
エクセルでは仕事にならん
ソフト屋に頼む金もないし・・・
0835デフォルトの名無しさんNGNG
>>831
それよりクエリビルダのフォント等幅にしたいんだけど
どうすればいいの?
0836831NGNG
>>835
それも知りたいす。
システムが使っているフォントは、この手の作業には向いてないと思う。
0837デフォルトの名無しさんNGNG
レポートを開く際に見出し行をセットしたいです
テキストボックスが
text_TITLE1〜text_TITLE20
まであるんですが
モジュール内で動的に制御するにはどうすればいいんでしょうか?

W_Cnt = 1 To 20
Me.text_TITLE & W_Cnt = text_タイトル(Next W_Cnt)
W_RS.MoveNext
Next W_Cnt

イメージとしてはこのようにしたいです
ご教授ください


0838デフォルトの名無しさんNGNG
>>837
ようわからん。

text_タイトル() って配列変数?
っつか、 text_タイトル(Next W_Cnt) の中に何故 Next が?
W_RS は何に使ってるレコードセットっすか?

貴方のイメージがさっぱり理解できません
ご教授ください
0839838NGNG
>>837
ひょっとしたら、こういうコトか?

For W_Cnt = 1 To 20
Me("text_TITLE" & W_Cnt) = W_RS!text_タイトル
W_RS.MoveNext
Next W_Cnt
0840けいこNGNG
テキストボックスの定型入力で、「 0000/00/00;0;_ 」にしてるんですけど
定型じゃないのを入力した時に出る
一般ユーザに不親切なエラーメッセージ
『定型入力「 0000/00/00;0;_ 」に違反しています』(?)みたいなのを何とかしたいんですけど。
どうにかプログラマー以外にもわかるようなエラーメッセージに変える方法はないでしょうか?

とにかくアクセスが勝手に出すエラーメッセージがウザいです。
0841デフォルトの名無しさんNGNG
>>840
SetWarningsメソッドでエラーメッセージ抑制できるんじゃなかった?

それやっちゃった場合、定型入力のエラートラップを自前でしなきゃ
ならんわけだが・・・どうやるかは知らない・・・
0842デフォルトの名無しさんNGNG
>>840 つうかエラーになる入力ってどうやってんだ?
0843けいこNGNG
>>841
勉強してやってみますね。
ありがとうございます。

>>842
例えば「2002/40/56」見たいに
あり得ない日付を入れるとか、
「2002/_4/_6」みたいにゼロを省くとか。
(「 0000/00/00;0;_ 」の場合)
0844けいこNGNG
ユーザさんが使うにあたって
開発者向けのエラーメッセージでは困るわけです。
0845デフォルトの名無しさんNGNG
>>840
テキストボックスのプロパティ「定型入力」の下に「エラーメッセージ」ってのがあるんだが…。
0846デフォルトの名無しさんNGNG
>>845 貴方、鋭い!
0847けいこNGNG
>>845
もちろんそれも試したはずなんだけど
どうしてもプロパティでもコード発でもないエラーメッセージが優先されて出ちゃうの。
0848けいこNGNG
ちなみにAccessは2000を使ってます。
0849デフォルトの名無しさんNGNG
>>845
鋭いと思ったけど、そいつは入力規則に対するエラーメッセージのようだ
ValidationRule/入力規則 のための ValidationText/エラーメッセージ
0850デフォルトの名無しさんNGNG
>>840
ここにあった 05980番から
ttp://www.users.gr.jp/ml/archive/access/Access59.asp
0851けいこNGNG
>>850
ありがとう!
さっそくやってみます!
0852けいこNGNG
うまくいかなかった…。
未入力の部分がどうにもこうにも…。
0853デフォルトの名無しさんNGNG
うわぁVBAだよ、やってるねぇ・・・
VBA.NETでもやれそう?
0854デフォルトの名無しさんNGNG
テーブルをEXCELにエクスポートするコードを作りたいのですが、
いまいちよく分かりません。
そのまま出力ではなく、SQLでいうWHERE句を付加して条件付けしたいのですが・・
(たとえば、コードが0001のデータのみEXCELに出力とか)

詳しいかた、ご教授願います。
0855デフォルトの名無しさんNGNG
>>854
QueryDefsとTransferSpreadsheetを調べてみな
Excel(xls)ファイルにデータ書き出すコードくらい書けるようになるだろう

”ロジックがわからないから教えてくれ”ってのは無しな
それくらい考える力がないんだったら諦めれ
0856デフォルトの名無しさんNGNG
>>855
OKです。ありがとうございます。

結局、OpenFormみたいに条件設定できる項目がなく、それで
困っていただけだったので。

QueryDefsを使えばよかったのか・・・


ご協力ありがとうございました。
0857デフォルトの名無しさんNGNG
>>843
エラー処理はBeforeUpdateイベントが使えますよ(つか基本か)
更新前処理ってやつ。

cancel=true
とすると任意のメッセージを表示して
正しい入力を促すなどの処理が出来ます。

>>856
オレはデータだけが必要なときは
CSVでエクスポートをよく使います

あとExcelでDAOなりADOなりでmdbに
接続して指定したセルに値をセットなど・・・
この場合、他のAccessを知らない人でも
毎月の資料作成などが出来て楽チンです(月指定→実行ボタンクリック→終)

話がそれてすまん。
0858857NGNG
>cancel=true
>とすると任意のメッセージを表示して
>正しい入力を促すなどの処理が出来ます。

↑間違い

↓訂正

更新前に確認処理を行い
誤りがあれば任意のメッセージなどで
正しい入力を促すなどの処理が出来ます

cancel=trueとすると
更新をキャンセル出来ます。

0859デフォルトの名無しさんNGNG
>>857-858
定型入力プロパティ 0000/00/00;0;_ 書式プロパティ 日付 (S)
と設定してあると、BeforeUpdate/更新前処理イベントでトラップ
する前に、システムの入力チェックが優先される。

ゆえにシステムの入力チェックを抑制して自前の入力チェック処理を
どうやって発動させればよいのか? って話なのだが?

定型入力プロパティを有効にした上での相談なので
「定型入力を止める」はNGワード。それを踏まえた上で妙案ある?
0860デフォルトの名無しさんNGNG
>>859
定型入力プロパティはそのまま、書式プロパティの方をやめ。
イベントの「更新前処理」で、自前で確認用のロジックを組めばよひ。

Private Sub テキスト0_BeforeUpdate(Cancel As Integer)
If Not IsDate(Me!テキスト0) Then
MsgBox "正しい日付を入力して下さい。", vbExclamation
Cancel = True
End If
End Sub
0861デフォルトの名無しさんNGNG
>819 亀レスごめん。連番の件だけど、いい方法思いついた

myt は連番を付けたいテーブルで uni は主キー n が付ける予定の連番
create table myt (uni text(6) not null primary key, n int);

1.連番だけのテーブルを作る
create table x (n autoincrement primary key, uni text(6));

2. x に myt の uni を挿入して連番を自動生成させる
insert into x select myt.uni from myt order by myt.uni;

3. myt の n を x の n で更新する
update myt inner join x on myt.uni = x.uni set myt.n = x.n;

ウザクテスマソ
0862デフォルトの名無しさんNGNG
>>860
それは>>843に示してあるパターン
1.YYYY/MM/DD 2002/08/32
2.YYYY/_M/_D 2002/_8/_1
のうち、1.には対応しているけど2.のパターンでは更新前処理イベントより
システムに先に拾われて>>840で挙げているエラーメッセージが出てくる

一見解決したように思えるけど、1.のパターンは定型入力プロパティには
違反していないのでイベントのユーザ定義の処理で拾えるのよ
本命は2.のパターン、定型入力プロパティに対する違反が発生したときに
どうやってシステムより先に検知して処理しようかってことなのだが?
0863デフォルトの名無しさんNGNG
問題の解決にはならないのだけど、>>844 ということなら
カレンダーコントロールでも使ってエラーの出る余地の無い入力させるとか。
0864デフォルトの名無しさんNGNG
質問さして下さい。

  TEAM_INFO
  -----------------
  2CH-AA-001-OMAEMONA
  AMEZOU-AA-001-GIKO
  2CH-AA-002-MORARA

上のようなデータを引数として渡し、

  TEAM_INFO
  -----------------
  2CH-AA-001
  AMEZOU-AA-001
  2CH-AA-002

のように最後のハイフンと単語を消去したものを
Strings型で返す関数を作ろうと思ってるんですが、
どんな風に組んだら良いのかわからんのでゴワス。

Replace関数とRight関数を駆使して
なんとかしようとは考えているのですが、
もしそれより効率の良いパターンがあればぜひ知りたいです。

宜しくお願い致します(;´Д`)_ アヒー
0865デフォルトの名無しさんNGNG
今コモンダイアログつかってるんですが、
VBA内でCommondialog.FileNameオプションに値をセットできません。
必ずエラー番号438が出てしまいます(サポートしていないというやつ)
型が間違ってるのかなと思いCstrでキャストかけても同じです。
同じような症状発生した方はいらっしゃいますか?

ちなみにコモンダイアログのバージョンは6.0(SP3)です。

それからもう一つ。
同じくコモンダイアログつかった場合、キャンセル処理は
エラーコードを拾わないとできないんでしょうか?
(普通のMSGBOXのvbOkやvbCancelみたくifで判断したいのですが・・)

以上、よろしくお願い致します。
0866デフォルトの名無しさんNGNG
文字列の後端から1文字づつ調べていって、ハイフンが見つかった時点で
それより前の文字列を返す、でいいんじゃないかい?
0867864NGNG
>>866
1文字ずつでなくても何とかなったっぽいです。

  Function PassTrimed(tgtStr As String) As String

    Dim StrLeng As Integer
    Dim StrTgtPoint As Integer

    StrLeng = Len(tgtStr)
    StrTgtPoint = InStrRev(tgtStr, "-", , vbTextCompare)

    PassTrimed = Left(tgtStr, StrTgtPoint - 1)

  End Function

これより短くは…むりですかね(´ω`)
アドバイスどもっした。
0868860NGNG
>>862
それは「定型入力プロパティ」の記述が違ってるだけだろ。
空白を許可するなら、普通は
0000/00/00;0;_
じゃなくて、
9999/99/99;0;_
にするだろが。

ついでに「更新後処理」で
Me!テキスト0 = CDate(Me!テキスト0)
とかやらせときゃ、もう完璧。
0869デフォルトの名無しさんNGNG
>>868
空白を許可しないなら間違いじゃないんだよ。
それを踏まえたうえで「どうしようか?」って話なのに。
自分の都合で勝手に条件を変えるなよ

自分の考えを強引に押し通そうとするのは勝手だけどさ
抜けのあるものを完璧なんて言ってくれるな
0870860NGNG
>>869
要は「2002/_8/_5」なんかも「2002/08/05」と入力させたいワケね。

Private Sub テキスト0_BeforeUpdate(Cancel As Integer)
  If IsNull(Me!テキスト0) Then Exit Sub

  Dim p年 As String: p年 = Left(Me!テキスト0, 4)
  Dim p月 As String: p月 = Mid(Me!テキスト0, 6, 2)
  Dim p日 As String: p日 = Right(Me!テキスト0, 2)

  If (Not IsNumeric("0" & p年 & "0")) Or (Not IsDate(p年 & "/01/01")) Then
    MsgBox "年指定が不適切です。", vbExclamation
    Cancel = True: Exit Sub
  End If
  If (Not IsNumeric("0" & p月 & "0")) Or (Not IsDate("1900/" & p月 & "/01")) Then
    MsgBox "月指定が不適切です。", vbExclamation
    Cancel = True: Exit Sub
  End If
  If (Not IsNumeric("0" & p年 & "0")) Or (Not IsDate("1900/01/" & p日)) Then
    MsgBox "日指定が不適切です。", vbExclamation
    Cancel = True: Exit Sub
  End If
End Sub
0871860NGNG
>>870
やばいな。これだと無条件で31日が許可される。
ま、こういった感じって事で、後は適当に考えて。
ちなみに定型入力は「9999/99/99;0;_」を使います。
0872860NGNG
閏年も考えると余計に面倒だな。

If (Not IsNumeric("0" & p年 & "0")) Or (Not IsDate(p年 & "/01/01")) Then
  MsgBox "年指定が不適切です。", vbExclamation
  Cancel = True: Exit Sub
End If
If (Not IsNumeric("0" & p月 & "0")) Or (Not IsDate(p年 & "/" & p月 & "/01")) Then
  MsgBox "月指定が不適切です。", vbExclamation
  Cancel = True: Exit Sub
End If
If (Not IsNumeric("0" & p年 & "0")) Or (Not IsDate(p年 & "/" & p月 & "/" & p日)) Then
  MsgBox "日指定が不適切です。", vbExclamation
  Cancel = True: Exit Sub
End If

こうすればいいだけか。長レスすまそ。
0873デフォルトの名無しさんNGNG
>>870>>872
なんか日指定のIsNumericが p年 になってる(w
0874デフォルトの名無しさんNGNG
現在ACCESS2000を使用しております。
そこでクエリをしているのですが、たとえば
テーブル名:「社員」
社員コード  社員名
000001 TAKADA
00000A MORI
00000Z NAKAMURA
101010 IKEDA
とあり、クエリの抽出条件で
「Like "*A"」と指定すれば
社員コード  社員名
00000A MORI
上記の一件のみ抽出するというクエリを作成しております。
そこで「"*A"」をパラメータにして「"*Z"」や「"10*"」
のようにユニークに変化させることでユーザー指定による抽出を
可能にしているのですが、そこで「Like "*A"」自体をパラメータには
できないのでしょうか?
結局は「Not Like "*A"」などといった命令をつかいたいのです。
だからパラメータで渡してあげれないかなぁーとおもい投稿致しました。
抽出条件自体をパラメータにして、そこ変数をテキスト型でパラメータ指定して、
そのクエリを実行すると、パラメータを聞いてきますよね。そこに「Not Like "*A"」や
「Like "*A"」を入力しても、結果が反映されません。
やはりそのようなことは無理なのでしょうか?
ご教授おねがいします。
0875デフォルトの名無しさんNGNG
パラメータを設定するときに
Like [なんか条件入れやがれ]
みたいにすればいいじゃないか
0876(´ω`)864NGNG
クエリだと値しか取得出来なかったような気がしまうs
VBAだと分かるんですが…申し訳ない。

<変更前>

Dim ParamVal As String
ParamVal = "*A"

DoCmd.RunSQL ("SELECT TBL.* FROM 社員 AS TBL " & _
"WHERE TBL.社員コード LIKE '" & ParamVal & ";)

<変更後>

Dim ParamVal As String
ParamVal = "Like *A"

DoCmd.RunSQL ("SELECT TBL.* FROM 社員 AS TBL " & _
"WHERE TBL.社員コード '" & ParamVal & ";)

これだと

 LIKE 'A*'
 = '00000A'
 LIKE '*A' OR '*Z'

みたいな感じで値も渡せるかなーと。
0877(´ω`)864NGNG
ちょびっと間違ってました。スンマセソ

<変更前>

Dim ParamVal As String
ParamVal = "*A"

DoCmd.RunSQL ("SELECT TBL.* FROM 社員 AS TBL WHERE TBL.社員コード LIKE '" & ParamVal & "' ;")

<変更後>

Dim ParamVal As String
ParamVal = "Like *A"

DoCmd.RunSQL ("SELECT TBL.* FROM 社員 AS TBL WHERE TBL.社員コード '" & ParamVal & "' ;")
0878デフォルトの名無しさんNGNG
  ▲
/・。・\   <おつかれ。)
|.NNNNN.|
| |   | |
○| | |○
  口口

  ▲
/・。・\   <おつかれ。)
|.NNNNN.|
| |   | |
○| / |○
  口口
0879デフォルトの名無しさんNGNG
>875
>876
ありがとうございます。
ちなみにいまは、条件指定を「Like "*" & [パラメータ]」
として、フォーム上からパラメータを「A」や「10」
などと指定しております。
ここの条件指定を「Like [パラメータ]」として、
パラメータに「*A」や「*10」「10*」といった風に様々な条件指定
をしたいのですが、結果がかえってきません。
ちなみにパラメータは「テキスト型」で指定しております。
クエリ単体でしますときちんとかえってきます。
フォーム上での指定は
「パラメータ="*A"」または「パラメータ="*10"」「パラメータ="10*"」
のように指定してやってます。やはりパラメータがテキスト型だから「*」
もテキストの条件になってしまうとおもうんですよ。だからそこの対応はどのように
すればいいのかアドバイスの方ヨロシクおねがいします。

0880VBA厨房NGNG
VBAでコードを一行で書くのってどうしたらいいの?
ど忘れしてしまった。

(例)
If rs.RecordCount = 0 Then
  MsgBox "DBにデータがありません"
End If

こういうコードを一行で書きたい。
だれか助けて
0881デフォルトの名無しさんNGNG
>>880
ヘルプ読めや。
0882デフォルトの名無しさんNGNG
If rs.BOF and rs.EOF then MsgBox "少しは頭使え"
0883VBA厨房NGNG
":"だということがわかりました。
つかれた
0884デフォルトの名無しさんNGNG
>VBA厨房
20年前のASCII、I/O を読ませたい。
0885ななしNGNG
>>880-882

可読性、保守性ともに劣悪。
1行で記述するメリットは皆無に近い。
(あえて言えば、ループ内の処理速度が気になる場合くらいだろうか)
0886デフォルトの名無しさんNGNG
ああもうRecordCountに-1が帰るなんて反則だろうがコンチクショウ!!
0887ななしNGNG
>>886
ヘルプに書いてあります。
リンクテーブルの場合(以下、略)

件数を拾う場合は、SQLの集計関数(Count)を使うべし。
0888デフォルトの名無しさんNGNG
>887
いやね、仕様だってのはわかるんだが、そういう仕様自体が
おかしいんじゃないかと思うわけですよ。
0889デフォルトの名無しさんNGNG
じゃぁ、アメリカで裁判でもやってこい。
0890デフォルトの名無しさんNGNG

2001 年 12 月に実施されました、Access Conference 2001 の模様
を Microsoft Producer for PowerPoint? 2002 で編集し、臨場感あ
ふれるコンテンツとして提供します。

http://www.microsoft.com/japan/office/access/acconf/
0891デフォルトの名無しさんNGNG
AC95,Win98/2000,AToK14なんですが、カナ入力で漢字変換モードONのテキストボックスに
setfocusするとカナ入力にならず一度そのテキストボックスから出てまた戻るとかな入力になる
ってのはFAQですか?
0892デフォルトの名無しさんNGNG
IISとACCESSでLAN内で使用するWEBDBを作ってるんだけど
どこかオススメの解説ホ−ムページないですか?

一応、もう動くんだけど参考にしてるとこがあったら教えてチョ。
0893デフォルトの名無しさんNGNG
>889
そのテがあったか!!さっそく行ってくるよーん。めざせブロコビィッチ
0894デフォルトの名無しさんNGNG
質問があります。
(例)
Do Until rs.EOF
Debug.Print rs!依頼番号, rs!申込種別

sql = "insert into T_Master " _
& "(依頼番号, 申込種別) " _
& "values (rs![依頼番号], rs![申込種別]);"

'Debug.Print sql
com.ActiveConnection = cn
com.CommandText = sql
com.Execute

rs.MoveNext
Loop


のようなコードだと、SQL文が
insert into T_Master (依頼番号, 申込種別) values (rs![依頼番号], rs![申込種別]);
のようになってcom.executeの部分で”1つ以上の必要なパラメーターが
入力されていない”というエラーがでるんですが、
values()の中は直接フィールドに入れる値を書かないといけないんですか?
追加先のT_Masterテーブルに[住所]というフィールドがあったら

rs![県名] & rs![市町村名] のようにしてレコードセットの
データを加工して[住所]のフィールドに入れたいとか思ってたんで
すけど、できないのでしょうか?
0895デフォルトの名無しさんNGNG
SQL文を解析するのは誰かを考えてやれ

sql = "insert into T_Master " _
& "(依頼番号, 申込種別) " _
& "values ( '" & rs![依頼番号] "' , '" & rs![申込種別]) & "';"

見づらいけどシングルクォーテーションも忘れずに
0896894NGNG
>>895
ありがとうございました。
シングルクォーテーション忘れてました。地獄に仏!

SQL文最後の行は
& "values('" & rs![依頼番号] & "' , '" & rs![申込種別] & "');"
に変えてみたらうまくいきました。
0897FIGHTNGNG
現在VB6.0&ACCESS200を使用してプログラムを作成しているのですが、
質問させてください。
DataEnvironmentを使用してCOMMAND1というコマンドを追加しております。
そのCOMMAND1にはACCESSのクエリを割り付けております。
そこでそのクエリに対してパラメータを受け渡しております。
しかしLIKE演算子がわたせません。
クエリ単体で、そのパラメータを指定すれば結果がかえってきます。
例)like "*" & [PARAM]
上記の抽出条件があるクエリを単体で実行すると「PARAM」を入力させる
プロンプトがでてきて「科目」と入力すると結果は「数学科目」、「国語科目」
といったように後ろに「科目」がつく条件を抽出してくれます。
しかし、それをDataEnvironmentからCOMMAND1を介して、パラメータをわたすと(同じように「科目」)結果は0件になります。
ちなみにLIKE演算子以外はきちんとひろってきます。
例)[PARAM]
としてパラメータに「国語科目」と渡すと、結果は「国語科目」のみ抽出してくれます。
DataEnvironmentからCOMMAND1ではLIKE演算子は使用できないのでしょうか?
アドバイスの方ヨロシクお願いします。

0898デフォルトの名無しさんNGNG
単純な質問で申し訳ありませんが教えてください。

いきなり各種ウィザード(ボタンを配置した時や、サブフォームを配置した時)が
出なくなってしまいました。
おそらく気が付かぬうちにどこかの設定を変えてしまったと思いますが・・・
今までまったく気にしなかった個所なので、どこを直せばいいかさっぱりです。
どこを直せばいいでしょうか?
0899デフォルトの名無しさんNGNG
>898
表示でツールボックスをクリック(表示)し
魔法の杖をクリック
0900魔王ハルトンNGNG
>>897
パラメータで演算子なんか渡せねーっつーのに。
何か勘違いしてる。あのクエリーのハコに書けるものが
「パラメータ」で渡せるわけじゃないぞ。
0901FIGHTNGNG
魔王ハルトン様、ご教授ありがとうございます。
そうですか、やはり無理なのですね。
また別の方法で今回の問題をクリアしたいとおもいます。
0902898NGNG
>>899
OKです。ありがとうございました。
0903poorNGNG
>>900
あんたVB知らないだったら
わけわかんないこと書くなよナー。

DataEnvironmentからCOMMAND1でLIKE演算子は
使えるんだからよ。
0904デフォルトの名無しさんNGNG
>>903
まぁまぁ、VBのことをこのスレで聞くのがそもそもの間違いだろ

ところで>>897見て「デジャブ?」と思ってしまった
質問内容が>>874-879になんとなく似てるんだよな
同一人物じゃないよねぇ〜
0905デフォルトの名無しさんNGNG
主キーがないSQL鯖のテーブルへリンクしているリンクテーブルがあります。
リンクテーブル作成時、レコードを一意に判別するフィールドとして○×コードを選択しました。
TableDefの中身を調べたら、○×コードがIndexとして設定されていました.
この時点では、Accessからテーブルを開いてデータを編集することが出来ます。

さて、とある処理の途中でこのリンクテーブルをRefreshLinkすると、上記の設定が消えてしまい
テーブル自体が読取専用になってしまいます。
RefreshLinkの前にIndexをAppendしようとしても、「ODBCリンクテーブルにIndexを作成することは
出来ないというメッセージが出ます。」

これを回避する方法ってないでしょうか?
0906905NGNG
SQL鯖のテーブルに主キーを設定すれば一発で解決する事は確認できています。
ただ、このリンクテーブルの主キーに関する疑問だけは解決しておきたいので、
ご存知の方教えてプリーズ
0907デフォルトの名無しさんNGNG
>>905 オレも困ってる
「固有レコードの識別子の選択」のダイアログに相当する
メソッドが TableDef オブジェクトには存在しないだね
自然に考えると TableDef オブジェクトでいいはずだのに
どこか違うオブジェクトの持ち物らしい。どれかはまだ判らないだよ(ゴメソ
0908905NGNG
>905
そそ。一生懸命Tabledefの中身を調べてるんですけどそれっぽいのが無いんですよね...
レス数が900を超えています。1000を超えると表示できなくなるよ。