エクセルで複数の質問に複数の人の回答を書いた表があるとします。
それをVBでDBへ、回答者ID.質問内容ID.回答.年度.月度を取り込む物をつくっているのですが・・
質問内容をセルで判断し、番号としてDBに記録させるにはどうしたらいいのでしょう?
たとえば質問1がセルの3.4にあるとして、
その質問内容を[1]という数字にしてアクセスの質問ポイントのテーブルに保存したいのです。
それと同じで回答者も名前ではなく、予め用意してある社員番号で認識させたいのですが・・
これもセルの位置で決めたいのです、回答者がエクセルのセルの2.2〜2.10まであるとして
2.2には大橋と書いてあるけれど、その文字ではなく「このセルの場所はこの社員番号」と固定で取り込みたいのです。
For Nextを使えばよろしいのでしょうか?
If F_GetShain_lng(strSQL) > 0 Then
strSQL = Space$(0)
strSQL = strSQL & " UPDATE Question SET "
strSQL = strSQL & " ID = " & Trim$(objWrkSht.Cells(3, 3).Value) '評価対象者ID
strSQL = strSQL & " QID = for QX = 4 to 11 (objWrkSht.Cells(7, QX).Value)"
今はこのように書いていますが、これでは動かないので;
よろしくお願いします。
〜〜、として
〜〜のですが、
〜〜けれど
が多用で、質問の意味が通じないです。
箇条書きでお願いします。
ごめんなさい、どう伝えたら良いか混乱してしまいました^^;
VBでエクセルで作った表の内容をDBに取り込む際に
「セルの中の文字列」を取り込むではなく、
「セルの位置に対して任意の番号を」DBへ保存したい・・
セルの [3.3] は [1]としてDBへ。 [3.4] は [2]...といった感じ
説明に自信がないので下に詳細を書きました、文章力なくて申し訳ありません..
↓取り込みたいエクセルの内容↓
_______________________________________
出題者ID:No.001 出題者名:山田太郎
回答者1 回答者2 回答者3...
Q1 YES YES NO
Q2 NO YES NO
Q3 NO NO NO
Q4 YES YES YES
_______________________________________
このようなエクセルから
出題者ID・回答・質問・回答者を取り込みます。
出題者IDと回答はそのまま、strSQL = strSQL & " ID = " & Trim$(objWrkSht.Cells(3, 3).Value)
で取り込めるのですが・・
質問内容は、文字としてではなく、番号として取り込みたい。(Q1は1Q2は2として..)
回答者は、名前ではなく、社員番号を取り込みたい。
このような場合どうしたら良いのでしょう?
…確かにこの質問内容からすると必要無い情報が多くて
分かり難いですね(^^;)
ただ、足りないより全然マシ。こういった掲示板の回答者さんってば
神懸り的な読解力を持ってる方がいますのでw
>For Nextを使えばよろしいのでしょうか?
使えばよろしいのでは?
Dim QX As Integer
For QX = 4 To 11
strSQL = strSQL & " QID = for QX = " & CStr(Val(objWrkSht.Cells(7, QX).Value))
Next
あ、ゴメン
strSQL = strSQL & " QID = " & CStr(Val(objWrkSht.Cells(7, QX).Value))
追加。
>質問内容は、文字としてではなく、番号として取り込みたい。(Q1は1Q2は2として..)
入っている文字が一定のパターンに従ってるならそこから数値部分を
取り出す処理を作れば良いでしょう。…1から?って決まってて
ループしてるなら、ループのカウンタでもいいと思いますが…。
>回答者は、名前ではなく、社員番号を取り込みたい。
名前に対応している社員番号をどこかに持ってるんですよね?
…それを置き換えるだけでは?。例えば過去ログ検索『Dictionary』
または『Collection』なんかを利用するとか?
追加情報
データ量が多くなってきた場合、エクセルは、一括でデータを
読み書きした方が格段に早くなります(特に書き込み)。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200501/05010125.txt
>特攻隊長まるるう 2005/01/27(木) 17:33:10
を参考にしてみて下さい。
特攻隊長まるるう様、丁寧な解説ありがとうございました。
レス遅れてもうしわけありませんでした
ツイート | ![]() |