C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: 値の引渡し


(過去ログ 54 を表示中)

[トピック内 15 記事 (1 - 15 表示)]  << 0 >>

■30030 / inTopicNo.1)  値の引渡し
  
□投稿者/ ホステス (1回)-(2008/12/17(Wed) 15:33:11)

分類:[データベース全般] 

VB6.0を使用してます。
初心者です。

VB6.0で作成した検索画面にて、検索結果の1行をDBLClickすると
FORM1が開かれます。
Form1にDblClickした行のみの値を表示させたいのですが
値の取得の仕方がわからず・・・
【画面構成】
・受注元c ・事業所c ・事業所略称・・・・・・・

と続くのですが、[受注元c]さえ取得すればあとはSQL文でDBから値をもって
来ようと思ってます。
[受注元c]の値をForm1の(txt(0).Text)に引き渡したいんだけど
どうやったら、いいものかと検索したんですが、わかりませんでした。
元々、他人が作成したPGに付け加えるといった作業です。

宜しくお願いいたします。
引用返信 編集キー/
■30033 / inTopicNo.2)  Re[1]: 値の引渡し
□投稿者/ はつね (897回)-(2008/12/17(Wed) 15:46:32)
はつね さんの Web サイト
No30030 (ホステス さん) に返信
> VB6.0で作成した検索画面にて、検索結果の1行をDBLClickすると
> FORM1が開かれます。
> Form1にDblClickした行のみの値を表示させたいのですが
> 値の取得の仕方がわからず・・・

値の取得ではなく、Form1への値の設定ですね。

Form1側に
Private _受注元C As String
Public Sub SetData(Byval 受注元C As String)
_受注元C=受注元C
End Sub
Private Sub Form_Load(・・・・・・・・・・・・
_受注元C を使って検索するなら検索する
End Sub

検索1側には
frm = New Form1
frm.SetData(受注元C)
frm.Show , Me


引用返信 編集キー/
■30037 / inTopicNo.3)  Re[2]: 値の引渡し
□投稿者/ ホステス (2回)-(2008/12/17(Wed) 16:14:53)
No30033 (はつね さん) に返信

早速、有難うございます。
>
> 検索1側には
> frm = New Form1
> frm.SetData(受注元C)
> frm.Show , Me
>
検索1側にはすでに、
'Form1の表示
Private Sub Grid1_DblClick()
Form1.Show
End Sub
というコードが入っております。
上記のコードはどの部分に書き込んでいけばいいのでしょうか?
本当に初心者ですいません(><)

引用返信 編集キー/
■30047 / inTopicNo.4)  Re[3]: 値の引渡し
□投稿者/ ホステス (4回)-(2008/12/17(Wed) 16:47:26)
2008/12/22(Mon) 13:12:45 編集(投稿者)
2008/12/22(Mon) 13:12:28 編集(投稿者)

削除しました
引用返信 編集キー/
■30048 / inTopicNo.5)  Re[4]: 値の引渡し
□投稿者/ ホステス (5回)-(2008/12/17(Wed) 16:48:21)
2008/12/22(Mon) 13:13:39 編集(投稿者)
削除しました

引用返信 編集キー/
■30049 / inTopicNo.6)  Re[5]: 値の引渡し
□投稿者/ ホステス (6回)-(2008/12/17(Wed) 16:51:08)
2008/12/22(Mon) 13:14:17 編集(投稿者)

削除しました
引用返信 編集キー/
■30051 / inTopicNo.7)  Re[6]: 値の引渡し
□投稿者/ ホステス (7回)-(2008/12/17(Wed) 16:51:49)
Sub set_grid_data()
Dim ss1 As String
Dim ss2 As String
Dim s1 As String
Dim i As Integer
Dim j As Integer
Dim Gdata1 As String
Dim k4 As String
Dim k5 As String


ClearGrid Grid1
Cmdprt.Enabled = False

If formloadflag = True Then Exit Sub

If KeyText = "" Then
SetGridDataNOTHING Grid1, "上記で検索条件を入力又は選択してください。"
Frame2.Caption = "検索結果"
Exit Sub
End If

引用返信 編集キー/
■30053 / inTopicNo.8)  Re[7]: 値の引渡し
□投稿者/ ホステス (8回)-(2008/12/17(Wed) 16:56:21)
ss1 = "SELECT COUNT(*) FROM TBL_職制 where 事業所コード>'000'"
ss2 = "SELECT 受注元コード AS 受注元c,事業所コード AS 事業所c,部コード AS 部c,事業所略称,部略称,課略称,"
ss2 = ss2 & "事業所名称, 課名称 FROM TBL_職制 where 事業所コード>'000'"

・・・If文省略
rs.Open ss1 & s1, dbman.cn(DB00), adOpenKeyset, adLockReadOnly
If Not rs.BOF And Not rs.EOF Then
Frame2.Caption = "検索結果 (対象:" & rs(0) & " Record)"
End If
rs.Close
Set rs = Nothing
ss2 = ss2 & s1 & " ORDER BY 事SEQ, 部SEQ, 課SEQ "


rs.Open ss2, dbman.cn(DB00), adOpenKeyset, adLockReadOnly


引用返信 編集キー/
■30059 / inTopicNo.9)  Re[8]: 値の引渡し
□投稿者/ やじゅ (870回)-(2008/12/17(Wed) 17:21:31)
やじゅ さんの Web サイト
No30053 (ホステス さん) に返信

会社からなら、先輩とか指導してくれる方はいないんでしょうか?
掲示板のやり取りより、よっぽど早く解決するかと思います。
引用返信 編集キー/
■30064 / inTopicNo.10)  Re[3]: 値の引渡し
□投稿者/ はつね (898回)-(2008/12/17(Wed) 17:32:35)
はつね さんの Web サイト
No30037 (ホステス さん) に返信
>>検索1側には
>>frm = New Form1
>>frm.SetData(受注元C)
>>frm.Show , Me
>>
> 検索1側にはすでに、
> 'Form1の表示
> Private Sub Grid1_DblClick()
> Form1.Show
> End Sub
> というコードが入っております。
> 上記のコードはどの部分に書き込んでいけばいいのでしょうか?

Private Sub Grid1_DblClick()
Dim frm As New Form1
frm.SetData(受注元C)
frm.Show , Me
End Sub

受注元Cには受注元Cが設定されている変数を書いて下さい。


引用返信 編集キー/
■30065 / inTopicNo.11)  Re[4]: 値の引渡し
□投稿者/ はつね (899回)-(2008/12/17(Wed) 17:34:01)
はつね さんの Web サイト
No30047 (ホステス さん) に返信
> 念のためコードを表示します。
> 会社からのため、大量にコードを記述すると、UPできないので

会社で使用しているコードをそのままインターネット上に公開して良い許可はとりましたか?
場合によっては、守秘義務違反になりますよ。

引用返信 編集キー/
■30084 / inTopicNo.12)  Re[9]: 値の引渡し
□投稿者/ ホステス (9回)-(2008/12/18(Thu) 02:07:56)
No30059 (やじゅ さん) に返信
> ■No30053 (ホステス さん) に返信
>
> 会社からなら、先輩とか指導してくれる方はいないんでしょうか?
> 掲示板のやり取りより、よっぽど早く解決するかと思います。
引用返信 編集キー/
■30085 / inTopicNo.13)  Re[4]: 値の引渡し
□投稿者/ ホステス (10回)-(2008/12/18(Thu) 02:12:07)
No30064 (はつね さん) に返信
丁寧にありがとうございます。
一応、先ほど書いたあとの続きも記入しておきます。
  ss = " SELECT distinct 事業所略称 FROM TBL_職制 where 事業所コード > '000' order by 事業所略称 "
    rs.Open ss, dbman.cn(DB00), adOpenKeyset, adLockReadOnly

    Cmbjiname.AddItem ""
    If Not rs.BOF And Not rs.EOF Then
        For i = 0 To rs.RecordCount - 1
            Cmbjiname.AddItem rs(0)
            rs.MoveNext
        Next i
        Cmbjiname.ListIndex = 0
    End If
    rs.Close
    Set rs = Nothing

    formloadflag = False


End Sub
Sub set_grid_data()
    Dim ss1 As String
    Dim ss2 As String
    Dim s1 As String
    Dim i As Integer
    Dim j As Integer
    Dim Gdata1 As String
    Dim k4 As String
    Dim k5 As String


    ClearGrid Grid1
    Cmdprt.Enabled = False

    If formloadflag = True Then Exit Sub

    If KeyText = "" Then
        SetGridDataNOTHING Grid1, "上記で検索条件を入力又は選択してください。"
        Frame2.Caption = "検索結果"
        Exit Sub
    End If


    ss1 = "SELECT COUNT(*) FROM TBL_職制 where 事業所コード>'000'"
    ss2 = "SELECT 受注元コード AS 受注元c,事業所コード AS 事業所c,部コード AS 部c,事業所略称,部略称,課略称,"
    ss2 = ss2 & "事業所名称, 課名称 FROM TBL_職制 where 事業所コード>'000'"

    If Text1(0).Text <> "" Then s1 = s1 & " and 受注元コード like '" & StrConv(Text1(0).Text, vbUpperCase) & "%'"
    If Cmbjic.Text <> "" Then s1 = s1 & " and 事業所コード = '" & Cmbjic.Text & "'"
    If Text1(1).Text <> "" Then s1 = s1 & " and 部コード like '" & StrConv(Text1(1).Text, vbUpperCase) & "%'"
    If Cmbjiname.Text <> "" Then s1 = s1 & " and 事業所略称 = '" & Cmbjiname.Text & "'"
    'If Text1(2).Text <> "" Then s1 = s1 & " and 部略称 like '%" & StrConv(Text1(2).Text, vbUpperCase + vbWide) & "%'"
    'If Text1(3).Text <> "" Then s1 = s1 & " and 課略称 like '%" & StrConv(Text1(3).Text, vbUpperCase + vbWide) & "%'"
    k4 = Text1(2).Text
    k5 = Text1(3).Text
    If k4 <> "" Then
        Select Case CmbSelLike(0)
            Case "で始まる"
                s1 = s1 & " and 部略称 like '" & k4 & "%' collate Japanese_CI_AI "
            Case "を含む"
                s1 = s1 & " and 部略称 like '%" & k4 & "%' collate Japanese_CI_AI  "
            Case "で終わる"
                s1 = s1 & " and 部略称 like '%" & k4 & "' collate Japanese_CI_AI  "
        End Select
    End If

    If k5 <> "" Then
        Select Case CmbSelLike(1)
            Case "で始まる"
                s1 = s1 & " and 課略称 like '" & k5 & "%' collate Japanese_CI_AI  "
            Case "を含む"
                s1 = s1 & " and 課略称 like '%" & k5 & "%' collate Japanese_CI_AI  "
            Case "で終わる"
                s1 = s1 & " and 課略称 like '%" & k5 & "' collate Japanese_CI_AI  "
        End Select

    End If


    rs.Open ss1 & s1, dbman.cn(DB00), adOpenKeyset, adLockReadOnly
    If Not rs.BOF And Not rs.EOF Then
        Frame2.Caption = "検索結果 (対象:" & rs(0) & " Record)"
    End If
    rs.Close
    Set rs = Nothing
    ss2 = ss2 & s1 & " ORDER BY 事SEQ, 部SEQ, 課SEQ "


    rs.Open ss2, dbman.cn(DB00), adOpenKeyset, adLockReadOnly


    If Not rs.BOF And Not rs.EOF Then
        With Grid1
            .Font.Size = 9
            .Redraw = False
            .Cols = rs.Fields.Count + 1
            For j = 0 To rs.Fields.Count - 1
                .Row = 0
                .Col = j
                .FixedAlignment(j) = 4
                Select Case j
                    Case 0, 1
                        .ColAlignment(j) = 4
                        .ColWidth(j) = 800
                    Case 2
                        .ColAlignment(j) = 4
                        .ColWidth(j) = 520
                    Case 3
                        .ColWidth(j) = 1500
                    Case 4, 5
                        .ColWidth(j) = 2000
                    Case 6
                        .ColWidth(j) = 3300
                    Case 7
                        .ColWidth(j) = 4160
                    Case Else
                        .ColWidth(j) = 1200

                End Select

                .Text = rs.Fields(j).Name
                .Row = 1
                .Col = j
                'Grid1.ColAlignment(j) = 4

            Next j
            .ColWidth(rs.Fields.Count) = 0


            For i = 0 To rs.RecordCount - 1
                Gdata1 = ""
                For j = 0 To rs.Fields.Count - 1
                    Gdata1 = Gdata1 & Trim(rs(j)) & Chr(9)
                Next j
                .AddItem Gdata1

                rs.MoveNext
            Next i

            .RemoveItem 1

        End With
        Cmdprt.Enabled = True
    Else
        SetGridDataNOTHING Grid1, "該当データはございませんでした。検索条件を見直してください。"

    End If
    rs.Close
    Set rs = Nothing

    Grid1.Redraw = True
End Sub
Private Function KeyText() As String
    KeyText = ""
    ss = ""
    For i = 0 To 3
        ss = ss & Trim(Text1(i))
    Next i
    ss = ss & Cmbjic.Text
    ss = ss & Cmbjiname.Text

    KeyText = ss
End Function

Private Sub Form_Resize()
With frmJcsD010
    If .Width > 10000 And .Height > 8000 Then
        Frame1.Width = .Width - 200
        Frame2.Width = .Width - 200
        Frame2.Height = .Height - 2700
        Grid1.Width = .Width - 310
        Grid1.Height = Frame2.Height - 350
        Cmdend.Top = Frame2.Top + Frame2.Height + 200
        Cmdend.Left = .Width - 1700
        set_grid_data
    End If
End With
End Sub


'Form1の表示
Private Sub Grid1_DblClick()
Form1.Show
End Sub


Private Sub Grid1_KeyPress(KeyAscii As Integer)
    SelectionRow Grid1
End Sub

Private Sub Grid1_RowColChange()
If printproc = True Then Exit Sub
    SelectionRow Grid1
End Sub

Private Sub mnuFilePrint_Click()
DirectPrintForm Me, printpic
End Sub

Private Sub mnuHelpAbout_Click()
    frmJcsVer.Show 1
End Sub

Private Sub mnuiken_Click()
    epFirstForm = "frmJcsD010"
    ep = JoinExeParam

        WShell op.PathEXE + "JCSWPRG.exe " & ep & "U", 0

End Sub

Private Sub Text1_DblClick(Index As Integer)
    Text1(Index).Text = ""
    set_grid_data
End Sub

Private Sub Text1_KeyUp(Index As Integer, KeyCode As Integer, Shift As Integer)
    set_grid_data
End Sub

引用返信 編集キー/
■30086 / inTopicNo.14)  Re[5]: 値の引渡し
□投稿者/ ホステス (11回)-(2008/12/18(Thu) 02:15:07)
No30065 (はつね さん) に返信
> ■No30047 (ホステス さん) に返信
>>念のためコードを表示します。
>>会社からのため、大量にコードを記述すると、UPできないので
>
> 会社で使用しているコードをそのままインターネット上に公開して良い許可はとりましたか?
> 場合によっては、守秘義務違反になりますよ。
>
確かに・・・
とってません・・・。
どの部分を書き出して質問すればいいのかもわかってない状況で・・・。
申し訳ございません・・・。
引用返信 編集キー/
■30092 / inTopicNo.15)  Re[6]: 値の引渡し
□投稿者/ はつね (900回)-(2008/12/18(Thu) 10:42:36)
はつね さんの Web サイト
No30086 (ホステス さん) に返信
> >>念のためコードを表示します。
> >>会社からのため、大量にコードを記述すると、UPできないので
>>
>>会社で使用しているコードをそのままインターネット上に公開して良い許可はとりましたか?
>>場合によっては、守秘義務違反になりますよ。
>>
> 確かに・・・
> とってません・・・。
> どの部分を書き出して質問すればいいのかもわかってない状況で・・・。
> 申し訳ございません・・・。

例えば、
No30033、No30037、No30064あたりのコード内容なんかは一般的な技術
のお話として切り出せていますよね。
そこから「受注元C」変数にどう値をいれるか、Form1側で「受注元C」
からどうやってデータを検索するかなどをコード全体を見てあたりをつ
けていくのはご自身でやるしかないと思います。

あたりをつけてやってみたけれど別の問題が生じたら、そのときにまた
「その部分」で質問すれば良いかと。
部分はたんなる技術的なお話にできたとしても全コード掲示は技術的な
部分以上の部分が見えてしまう危険性が高いです。


引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -