• 締切済み

sqlで取得したデータを writelineメソッドでメモ帳に

sqlで取得したデータを変数fffに fff=fff & rs.fields(0).value として格納しています これをWSHのwritelineメソッドでメモ帳に1データづつ改行したいのですが変数fffに入れてあるせいか横に羅列されてしまいます fff=fff & rs.fields(0).value & chr(13) でも駄目です。 どうすればいいか教えてください 

みんなの回答

回答No.1

fff=fff & rs.fields(0).value & chr(13) & Chr(10) あるいは fff=fff & rs.fields(0).value & vbCrLf でできるかと。

関連するQ&A

  • リッチテキストボックスの改行挿入について

    初めまして。Access初心者のものです。 下記リッチテキストボックスがフォーム上に2つあります。 →TextBox1 (連結)     連結先のメモ型フィールドの設定は、リッチテキストに設定してあります。 →TextBox2 (非連結) 下記、VBAを記述しましたところ、改行がうまくされず困っています。 TextBox1 = 変数 & "入力しました。" & Time & Chr(13) & Chr(10) & _ "----------------------------------" & Chr(13) & Chr(10) & _ TextBox2 & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _ TextBox1 TextBox2 = "" リッチテキストボックスに格納されるデータは、下記のようになります。 変数 入力しました。 17:00:00---------------------------------- TextBox2 TextBox1 希望は、下記のようにデータを格納させたいです。 変数 入力しました。 17:00:00 (改行あり) ----------------------------------(改行あり) TextBox2(改行あり) (改行あり) TextBox1 解決策がありましたら、ご教授頂ければ幸いです。 よろしくお願いいたします。

  • 次データ取得エラーについて

    sea_clear_sky8です。 [環境] OS 98SE PWS [質問内容] SQL CMD.CommandText = "SELECT * from test_t" このSQLだと下記のソースの部分が通り、データを表示 させることができます。 でも、 SQL CMD.CommandText = "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" だと次データ取得エラーと表示され、エラー番号3251が表示され 二つ目のデータから取得できません。 忙しいところすいませんが、ご教授願います。 エラー番号等で、インターネットで調べましたが、原因がわからない 状態です。よろしくお願いします。 [ソース] Do UntiL RS.EOF=true For i = 0 to RS.Fields.Count-1 Response.write RS(i).name k = RS(i).name + CSTR(RS.bookmark) Response.write "<input name="&k&" value="&RS(i)&">" next Response.write "<BR>" RS.MoveNext Loop

  • Access ADP テーブル 説明欄を取得したい

    大変お世話になります。 Access 2007 ADPファイルにて SQL Server 2005 との接続でのシステムを運用しています。 テーブル情報のフィールド説明欄(Description) の値の一覧を取得したいと思い下記のプログラムを作ってみたのですが、Descriptionの値以外はおおむね取得できるのですが、説明欄のところがすべてエラーになってしまい説明欄の Description の取得ができません。 格納場所か、プロパティの参照の仕方が原因だと思うのですが、解決できません。 テーブルの説明欄(Description)値の参照の仕方をご存じの方がいらっしゃいましたら何卒ご教授いただければと存じます。 よろしくお願いいたします。     Dim Cn As ADODB.Connection     Dim Rs As New ADODB.Recordset     Dim SQL As String     Dim i As Integer          Set Cn = CurrentProject.Connection          SQL = " SELECT dbo.テーブルA.* "     SQL = SQL & " FROM dbo.テーブルA"     Dim MyDB As New ADOX.Catalog     Dim MyTable As ADOX.Table     Dim MyField As ADOX.Column     MyDB.ActiveConnection = CurrentProject.Connection     Set MyTable = MyDB.Tables("テーブルA")          Rs.Open SQL, Cn, adOpenForwardOnly, adLockReadOnly         For i = 0 To Rs.Fields.Count - 1             MsgBox Rs.Fields(i).Name                                     'MsgBox MyTable.Columns(Rs.Fields(j).Name).Properties("Description").Value             MsgBox Rs.Fields(i).Properties("Description").Value             MsgBox Rs.Fields(i).ActualSize             MsgBox Rs.Fields(i).Attributes             'MsgBox Rs.Fields(i).DataFormat             MsgBox Rs.Fields(i).DefinedSize             MsgBox Rs.Fields(i).NumericScale             'MsgBox Rs.Fields(i).OriginalValue             MsgBox Rs.Fields(i).Precision                          'MsgBox Rs.Fields(i).Properties("Description")                                      MsgBox Rs.Fields(i).Status             MsgBox Rs.Fields(i).Type             'MsgBox Rs.Fields(i).UnderlyingValue             MsgBox Rs.Fields(i).Value                  Next     Set MyDB = Nothing     Rs.Close     Set Rs = Nothing     Cn.Close     Set Cn = Nothing     Exit Sub

  • SQLの発行方法

    SQL文を発行する場合にはSQL文を変数に格納してExecuteメソッドで発行しますが、SQL文が2文になる場合(最初のSQL文であるデータを取得して、次のSQL文でそのデータを使って検索等を行うとき)にはもう一度上記の手続きを繰り返すしかないのでしょうか?。 あるいは、SQL文を長くして一文にまとめる(できる場合とできない場合があるように思うのですが)方法があるのでしょうか 一般的な処理方法を教えていただけないでしょうか

  • vbsで最後の行を削除する

    csvファイル(test.csv)からフラグが1のものを抽出するのですが 最終行に改行がはってしまうので、最終行を削除してcsvファイルを保存したいのですが、 うまくいきません。ご教授ください。 Dim objADO Dim i Dim wsql Dim rs Dim wHeader Dim wData Dim objFSO Dim objFile Set objADO = CreateObject('ADODb.connection') objADO.Open "Driver={Microsoft Text Driver (*.txt;*csv)};"&_ "DBQ=C:\test;"&_ "ReadOnly=1" '抽出条件 wsql="select * from test.csv where フラグ='1'" Set rs =objADO.Execute(Wsql) 'ヘッダ部 wHeader='ID,商品名,商品番号,フラグ" 'データ部 wData="" Do While rs.EOF=False For i = 0 to rs.fields.count - 1 if i = (rs.fields.count -1) then wData = wData & chr(34) & rs.Fields.ltem(i) & chr(34) & chr(13) else wData = wData & chr(34) & rs.Fields.ltem(i) & chr(34) & "," end if next rs.MoveNext loop '最終改行削除? rs = Left(wData,Len(wData) - Len(chr(13))) 'ファイル出力 set objFSO = createObject("Scripting.FileSystemObject") set objFile = objFSO.OpentextFile("c:\test\test.csv",2, true) if err.Number = 0 then objFile.WriteLine(wHeader) objFile.WriteLine(wData) objFile.close end if set objFile = Nothing set objFSO = Nothing set objADO = Nothing ****************************************** ID,商品名,商品番号,フラグ 100,パソコン,100-12,1 200,ペン,200-11,1 ***ここの改行を削除する***** 〔EOF〕

  • 日別集計(その2)

    DBはアクセス(.mdb)です。 現在のSQL構文ですが、、、 strSQL = "SELECT COUNT (*) From DB1 " strSQL = strSQL & "where 条件その1 = '" & Form1.Text1.Text & "' " strSQL = strSQL & "AND 条件その2 = '" & Form1.Text1.Text & "' " strSQL = strSQL & "AND 日時 BETWEEN #" & (開始日時を格納した変数) & "# AND #" & (終了日時を格納した変数) & "#" strSQL = strSQL & "GOROUP BY CDate(Fix(日時)) " rs.Open strSQL, cn SU = rs.Fields(0).Value という内容です。 これを実行すると”1日目”は取れるのですが、2日目 以降が取れません。単純に「SU = rs.Fields(0).Value」 ではなくWhile等でまわしてやればうまくいくでしょうか? それと、、、これは私も予想外だったのですが(汗)1日 を更に2分割(例:8:30~20:29までと20:30~8:29) しなければなりません。DBの日時フィールドは時刻/日付 型なんですが、これをうまく使ってクエリをもう少し細か なものにしたいのです。 お知恵をお借りしたいと思います。 よろしくお願いします。

  • EXCEL→SQL VBAを簡略化したい

    EXCELのVBAを使って、SQLサーバーに接続し、 データテーブルを開き、データを200個(xが100個、yが100個) 書き込みさせたいプログラムを作っています。 強引に1つ1つ書き込みし、200個登録は出来たのですが、 もっとプログラムを簡略化したいと思います。 以下に内容をしめします。 ------------------------------------------- 'SQLデータベースに接続 Set rs = CreateObject("ADODB.RecordSet") Set CN = CreateObject("ADODB.Connection") CN.ConnectionString = "Driver={SQL Server};" & _ "server=○○○.○○.○○.○○; database=DB ; uid=ID; pwd=1234;" CN.Open '-----[Dataテーブル] ----- Set rs = New Recordset rs.Open "Data", CN, adOpenKeyset, adLockOptimistic '[Dataテーブル]に書込み rs.AddNew Worksheets("Sheet1").Select '☆☆☆ rs!x1 = Cells(10, 5).Value rs!x2 = Cells(11, 5).Value rs!x3 = Cells(12, 5).Value rs!x4 = Cells(13, 5).Value    ・    ・     ・    ・ rs!x100 = Cells(109, 5).Value rs!y1 = Cells(10, 7).Value rs!y2 = Cells(11, 7).Value rs!y3 = Cells(12, 7).Value rs!y4 = Cells(13, 7).Value    ・    ・     ・    ・ rs!y100 = Cells(109, 7).Value '☆☆☆ '保存 rs.Update MsgBox "追加しました" '後処理 rs.Close: Set rs = Nothing CN.Close: Set CN = Nothing '終了処理 Set rs = Nothing Set CN = Nothing ------------------------------------------- '☆☆☆で挟まれた部分を繰り返し文で簡潔にプログラミングしたいです。 自分が考えた以下の分では、エラーが出てしまいました。   i = 1   n = 10 Do While i < 100    rs!x"& i &" = Cells(n, 5)    rs!y"& i &" = Cells(n, 7)   i = i + 1   n = n + 1 Loop よりシンプルな構文にしたいと思います。 お手数おかけいたしますが、わかる方いらっしゃいましたら 教えて下さい。

  • ランダムでデータ取得したい

    こんばんは。 初歩的なことなんですがどうしても解決できないので書き込みしました。 VBScriptで検索結果をランダムで取得し、 表示するプログラムを作成してみたんですが うまく動作しません。 以下がソースです。 SQL = "" SQL = SQL & "select NAME" & vbCrlf SQL = SQL & " from TBL" & vbCrlf '実行 Set rs = conn.Execute(SQL) 'レコードカウント取得~検索結果14件 rsCnt = rs.RecordCount 'ここで変数を最大値で設定できないのでしょうか? 'ためしに実数(今回は14)を挿入すると動作しました。 '理想はrs.RecordCountで配列指定したいのですができないです。 'これをするとrs.RecordCountに-1が返ってきてエラーが出ます。 ReDim strName(rsCnt) '1から14の配列を取得する intIdx=1 Do until rs.Eof strName(intIdx)=rs("NAME") intIdx=intIdx+1 rs.MoveNext Loop 'データ表示 For intCnt = 1 to rsCnt 'この中でRnd関数を使ってみました。 '配列で実数を使用した場合、ここまで来るのですが 'その結果をランダムで表示したかったので 'RandomizeとRnd関数を使用しましたが '重複データが出てきてしまいます。 ' Randomize index=Rnd*rsCnt+1 以上なんですが解決方法があれば 是非ご指導お願いします。 Takeshi Takahashi 2002/02/06

  • アクセスのイベント(クラスモジュール)

    こんにちは。 Win2000 pro ,Access2000 を使っています。 私の知らない人の作ったアクセスがうまく起動しなくなってしまいました。それを修正しなくてはいけないのですが、全然わかりません。デバックで、以下のラインが黄色くなります。 \'データ内容をデータ行に出力 row = 1 While RS.EOF = False DoEvents row = row + 1 For col = 1 To RS.Fields.Count obj.ActiveSheet.Cells(row, col).Value = RS.Fields(col - 1).Value Next RS.MoveNext Wend この中の obj.ActiveSheet.Cells(row, col).Value = RS.Fields(col - 1).Value のラインが黄色くなります。 うまく説明できないのですが、アクセスに取り込んだデータを編集してエクセルに出力する作業の中で、とりこむデータの位置(どこをどこに)を指定してるようなのですが・・・。 エラーメッセージは何度が試しましたが一度だけでてきて、「With???変数の指定がされていません」というような内容でした。(デバックしたら消えてしまい覚えてないです。) もし何がおかしいのかわかったら教えてください。

  • SQL*Loaderについて

    SQL*Loaderを用いてOracleのテーブルにデータを格納 しようと思っています。 格納するデータはテキストファイルです。 しかし、NUMBER型にマイナスのデータ(-123.45)を格納 するとエラーになってしまいます。 原因としては、多分テキストデータの表示が"123.45-"と なっているからだと思います。 "123.45-"の表示でエラーとならずに"-123.45"と格納 されるようにすることは不可能なのでしょうか? 現在作成のLoaderは下記になっています。 load data truncate into table DEPT fields terminated by X'09' trailing nullcols (DEPTNO ,POSTNO NULLIF POSTNO=BLANKS ,SAL NULLIF SAL=BLANKS ) ちなみにSALがNUMBER型の項目です。

専門家に質問してみよう