VERSION 5.00 Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX" Begin VB.Form monitor_microdata Caption = "Micro data" ClientHeight = 6030 ClientLeft = 60 ClientTop = 345 ClientWidth = 7530 LinkTopic = "Form1" MDIChild = -1 'True ScaleHeight = 6030 ScaleWidth = 7530 Begin VB.CheckBox chkLogheaderh Caption = "Log header" Height = 255 Left = 2520 TabIndex = 21 Top = 4680 Width = 1155 End Begin VB.CheckBox chkLogh Caption = "Log" Height = 255 Left = 1260 TabIndex = 20 Top = 4680 Width = 1155 End Begin VB.CommandButton cmdLognowi Caption = "Log now" Height = 255 Left = 4980 TabIndex = 19 Top = 2340 Width = 1035 End Begin VB.CheckBox chkLogheader Caption = "Log header" Height = 255 Left = 3720 TabIndex = 18 Top = 2340 Width = 1155 End Begin VB.CheckBox chkLogseli Caption = "Log sel ind" Enabled = 0 'False Height = 255 Left = 2460 TabIndex = 17 Top = 2340 Width = 1155 End Begin VB.CheckBox chkLogalli Caption = "Log all ind" Height = 255 Left = 1260 TabIndex = 16 Top = 2340 Width = 1155 End Begin VB.TextBox txtInr Height = 285 Left = 3480 TabIndex = 14 Top = 1140 Width = 735 End Begin VB.ListBox LstHh Height = 1425 Left = 1380 TabIndex = 7 Top = 600 Width = 1215 End Begin VB.ListBox lstInd Height = 1425 Left = 60 TabIndex = 6 Top = 600 Width = 1215 End Begin VB.CommandButton cmdSelvar Caption = "Select variables" Height = 315 Left = 4980 TabIndex = 5 Top = 120 Width = 1515 End Begin VB.ListBox List1 Height = 1815 Left = 4980 MultiSelect = 1 'Simple TabIndex = 4 Top = 540 Width = 1935 Visible = 0 'False End Begin VB.TextBox txtHHnr Height = 285 Left = 3480 TabIndex = 2 Top = 780 Width = 735 End Begin VB.TextBox Text1 Height = 255 Left = 7380 TabIndex = 1 Top = 240 Width = 495 Visible = 0 'False End Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1 Height = 1935 Left = 60 TabIndex = 0 Top = 2640 Width = 6885 _ExtentX = 12144 _ExtentY = 3413 _Version = 393216 Rows = 100 AllowUserResizing= 1 End Begin MSFlexGridLib.MSFlexGrid MSFlexGrid2 Height = 735 Left = 120 TabIndex = 8 Top = 4980 Width = 6885 _ExtentX = 12144 _ExtentY = 1296 _Version = 393216 Rows = 100 AllowUserResizing= 1 End Begin VB.Label Label6 Caption = "Sel indnr" Height = 195 Left = 2760 TabIndex = 15 Top = 1200 Width = 615 End Begin VB.Label Label5 Caption = "Household" Height = 195 Left = 120 TabIndex = 13 Top = 4740 Width = 1035 End Begin VB.Label Label4 Caption = "Individuals" Height = 195 Left = 120 TabIndex = 12 Top = 2340 Width = 1035 End Begin VB.Label Label1 ForeColor = &H0000FFFF& Height = 195 Left = 60 TabIndex = 11 Top = 60 Width = 2535 End Begin VB.Label Label3 Caption = "Household nr" Height = 195 Left = 1440 TabIndex = 10 Top = 360 Width = 975 End Begin VB.Label Label2 Caption = "Individual nr" Height = 195 Left = 120 TabIndex = 9 Top = 360 Width = 975 End Begin VB.Label lblselhhnr Caption = "Sel hhnr" Height = 195 Left = 2760 TabIndex = 3 Top = 840 Width = 615 End End Attribute VB_Name = "monitor_microdata" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Option Base 1 Dim iflag As Integer Dim sel_hhnr As Long, sel_inr As Long, maxrows As Long Dim vnames(100) As String Dim vvalues(100) As Variant Dim mcolwidth(0 To 50) As Integer Private Sub Form_Load() Me.Height = 6435 Me.Width = 7290 Me.Show Me.Refresh Call load_list Call updatenumbers maxrows = UBound(indnr2index) sel_hhnr = 0 sel_inr = 0 txtHHnr.text = h_hhnr(1) txtInr.text = "" maxrows = 1000 End Sub
Private Sub MSFlexGrid1_Click() ' r = MSFlexGrid1.Row MSFlexGrid1.Col = 1 txtInr.text = MSFlexGrid1.text End Sub
Private Sub Text1_Change() 'If chkauto = 1 Then Call updatenumbers Dim tmp If txtInr.text <> "" Then tmp = txtInr.text txtInr.enabled = False txtInr.text = "" txtInr.enabled = True txtInr.text = tmp iflag = 1 Call txtHHnr_Change iflag = 0 Call cmdLognowi_Click Exit Sub End If If txtHHnr.text <> "" Then Call txtHHnr_Change Call cmdLognowi_Click Exit Sub End If Call updatenow 'End If End Sub
Private Sub updatenow() Dim i As Integer For i = 0 To MSFlexGrid1.Cols - 1 mcolwidth(i) = MSFlexGrid1.ColWidth(i) Next show_i show_h 'Call Copytoeditor End Sub
Private Sub cmdSelvar_Click() If cmdSelvar.Caption = "Select variables" Then cmdSelvar.Caption = "Close" List1.Visible = True Else cmdSelvar.Caption = "Select variables" List1.Visible = False If sel_hhnr > 0 Then Call updatenow End If End Sub
Private Sub load_list() Dim cv Dim typ As String Dim nr As Integer List1.Clear nr = 0 For Each cv In var_coll List1.AddItem cv If List1.List(nr) = "i_indnr" Or _ List1.List(nr) = "i_hhnr" Or _ List1.List(nr) = "i_age" Or _ List1.List(nr) = "i_sex" Or _ List1.List(nr) = "i_inc_taxable" Or _ List1.List(nr) = "i_status" Or _ List1.List(nr) = "h_hhnr" Or _ List1.List(nr) = "h_n_adults" Or _ List1.List(nr) = "h_n_child" Or _ List1.List(nr) = "h_hhnr" Or _ List1.List(nr) = "h_size" Or _ List1.List(nr) = "h_first_indnr" Then List1.Selected(nr) = True End If nr = nr + 1 Next End Sub
Private Sub txtHHnr_Change() Dim hnr As Long sel_hhnr = 0 If iflag = 0 Then sel_inr = 0 txtInr.enabled = False txtInr.text = "" txtInr.enabled = True Call unselect_i End If If txtHHnr.text = "" Then If LstHh.ListIndex >= 0 Then LstHh.enabled = False LstHh.Selected(LstHh.ListIndex) = False LstHh.enabled = True End If MSFlexGrid1.Rows = 1 MSFlexGrid2.Rows = 1 Exit Sub End If hnr = val(txtHHnr.text) If hnr <= 0 Or hnr > UBound(hhnr2index) Then If LstHh.ListIndex >= 0 Then LstHh.enabled = False LstHh.Selected(LstHh.ListIndex) = False LstHh.enabled = True End If MSFlexGrid1.Rows = 1 MSFlexGrid2.Rows = 1 Exit Sub End If If hhnr2index(hnr) = 0 Then Beep If LstHh.ListIndex >= 0 Then LstHh.enabled = False LstHh.Selected(LstHh.ListIndex) = False LstHh.enabled = True End If MSFlexGrid1.Rows = 1 MSFlexGrid2.Rows = 1 Exit Sub End If sel_hhnr = hnr LstHh.enabled = False LstHh.Selected(hhnr2index(sel_hhnr) - 1) = True LstHh.enabled = True Call updatenow End Sub
Private Sub LstHh_Click() Dim hi As Long, hnr As Long, i As Long If LstHh.enabled = False Then Exit Sub hi = LstHh.ListIndex hnr = LstHh.List(hi) txtHHnr.text = hnr LstHh.SetFocus End Sub
Private Sub txtInr_Change() Dim inr As Long If txtInr.enabled = False Then Exit Sub chkLogseli.enabled = False sel_inr = 0 If txtInr.text = "" Then If lstInd.ListIndex >= 0 Then lstInd.enabled = False lstInd.Selected(lstInd.ListIndex) = False lstInd.enabled = True End If iflag = 1 txtHHnr.text = "" iflag = 0 Exit Sub End If inr = val(txtInr.text) If inr <= 0 Or inr > UBound(indnr2index) Then If lstInd.ListIndex >= 0 Then lstInd.enabled = False lstInd.Selected(lstInd.ListIndex) = False lstInd.enabled = True End If iflag = 1 txtHHnr.text = "" iflag = 0 Exit Sub End If If indnr2index(inr) = 0 Then Beep If lstInd.ListIndex >= 0 Then lstInd.enabled = False lstInd.Selected(lstInd.ListIndex) = False lstInd.enabled = True End If iflag = 1 txtHHnr.text = "" iflag = 0 Exit Sub End If sel_inr = inr chkLogseli.enabled = True iflag = 1 txtHHnr.text = i_hhnr(indnr2index(sel_inr)) iflag = 0 Call yellow_i End Sub
Private Sub lstInd_Click() Dim ii As Long, hnr As Long, inr As Long, i As Long If lstInd.enabled = False Then Exit Sub ii = lstInd.ListIndex If ii < 0 Then Exit Sub inr = lstInd.List(ii) txtInr.text = inr End Sub
Private Sub unselect_i() Dim ii As Long ii = lstInd.ListIndex lstInd.enabled = False If ii >= 0 Then lstInd.Selected(ii) = False lstInd.enabled = True End Sub
Private Sub show_i() Dim i As Long, j As Long, n_variabler As Long, nrader As Long, utrader As Long Dim k As Integer Dim txt As String n_variabler = 1 txt = "Index" n_variabler = n_variabler + 1 txt = txt & "|i_indnr" vnames(n_variabler - 1) = "i_indnr" n_variabler = n_variabler + 1 txt = txt & "|i_hhnr" vnames(n_variabler - 1) = "i_hhnr" For i = 1 To List1.ListCount If List1.Selected(i - 1) = True And Left(List1.List(i - 1), 1) = "i" Then If List1.List(i - 1) <> "i_indnr" And List1.List(i - 1) <> "i_hhnr" Then n_variabler = n_variabler + 1 txt = txt & "|" & List1.List(i - 1) vnames(n_variabler - 1) = List1.List(i - 1) End If End If Next MSFlexGrid1.FormatString = txt MSFlexGrid1.Cols = n_variabler j = n_variabler Dim for_to As Long for_to = mini(m_icount, maxrows) If sel_hhnr > 0 Then for_to = m_icount For i = 1 To for_to If sel_hhnr = 0 Or sel_hhnr = i_hhnr(i) Then utrader = utrader + 1 If utrader + 1 > nrader Then MSFlexGrid1.Rows = utrader + 1 ' Fetch values for selected variables Call getvalues(n_variabler - 1, vnames(), vvalues(), i) For k = 1 To n_variabler - 1 If vvalues(k) > 1000 Then vvalues(k) = round(vvalues(k), 1) Next MSFlexGrid1.enabled = False With MSFlexGrid1 .TextArray(j) = i For k = 1 To n_variabler - 1 .TextArray(j + k) = vvalues(k) Next End With MSFlexGrid1.enabled = True j = j + n_variabler End If Next For i = 0 To MSFlexGrid1.Cols - 1 If mcolwidth(i) > 0 Then MSFlexGrid1.ColWidth(i) = mcolwidth(i) Next If sel_hhnr > 0 Then MSFlexGrid1.Rows = utrader + 1 If sel_inr > 0 Then Call yellow_i End Sub
Private Sub show_h() Dim i As Long, j As Long, n_variabler As Long, nrader As Long, utrader As Long Dim k As Integer If txtHHnr.text = "" Then Exit Sub Dim txt As String n_variabler = 1 txt = "Index" n_variabler = n_variabler + 1 txt = txt & "|h_hhnr" vnames(n_variabler - 1) = "h_hhnr" For i = 1 To List1.ListCount If List1.Selected(i - 1) = True And Left(List1.List(i - 1), 1) = "h" Then If List1.List(i - 1) <> "h_hhnr" Then n_variabler = n_variabler + 1 txt = txt & "|" & List1.List(i - 1) vnames(n_variabler - 1) = List1.List(i - 1) End If End If Next MSFlexGrid2.FormatString = txt MSFlexGrid2.Cols = n_variabler j = n_variabler Dim for_to As Long for_to = mini(m_hcount, maxrows) If sel_hhnr > 0 Then for_to = m_hcount For i = 1 To for_to If sel_hhnr = 0 Or sel_hhnr = h_hhnr(i) Then utrader = utrader + 1 If utrader + 1 > nrader Then MSFlexGrid2.Rows = utrader + 1 ' Fetch values for selected variables Call getvalues(n_variabler - 1, vnames(), vvalues(), i) For k = 1 To n_variabler - 1 If vvalues(k) > 1000 Then vvalues(k) = round(vvalues(k), 1) Next MSFlexGrid2.enabled = False With MSFlexGrid2 .TextArray(j) = i For k = 1 To n_variabler - 1 .TextArray(j + k) = vvalues(k) Next End With MSFlexGrid2.enabled = True j = j + n_variabler End If Next For i = 0 To MSFlexGrid2.Cols - 1 If mcolwidth(i) > 0 Then MSFlexGrid2.ColWidth(i) = mcolwidth(i) Next If sel_hhnr > 0 Then MSFlexGrid2.Rows = utrader + 1 End Sub
Private Sub updatenumbers() Dim i As Long Label1.Caption = "Checking individuals" Label1.Refresh lstInd.Visible = False lstInd.Clear For i = 1 To m_icount lstInd.AddItem i_indnr(i) Next lstInd.Visible = True Label1.Caption = "" Label1.Refresh lstInd.Refresh Label1.Caption = "Checking households" Label1.Refresh LstHh.Visible = False LstHh.Clear For i = 1 To m_hcount LstHh.AddItem h_hhnr(i) Next LstHh.Visible = True Label1.Caption = "" Label1.Refresh LstHh.Refresh If txtHHnr.text <> "" Then If hhnr2index(txtHHnr.text) = 0 Then Exit Sub ' Mark household LstHh.Selected(hhnr2index(txtHHnr.text) - 1) = True End If End Sub
Private Sub Copytoeditor() Dim i As Integer, j As Integer Dim txt As String txt = "" ' Individuals ' text headers If chkLogheader.value = 1 Then 'chkLogheader.value = 0 For i = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Row = 0 MSFlexGrid1.Col = i If i = 0 Then txt = txt + "Year " + fspace(MSFlexGrid1.text, 10) Else txt = txt + fspace(MSFlexGrid1.text, 10) End If Next txt = txt + vbCrLf End If ' data If chkLogalli.value = 1 Or chkLogseli.value = 1 Then For j = 1 To MSFlexGrid1.Rows - 1 MSFlexGrid1.Row = j If chkLogalli.value = 1 Then For i = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i If i = 0 Then txt = txt + LTrim(str(model_time + base_year)) + " " + fspace(MSFlexGrid1.text, 10) Else txt = txt + fspace(MSFlexGrid1.text, 10) End If Next txt = txt + vbCrLf End If If chkLogseli.value = 1 Then MSFlexGrid1.Col = 1 If val(MSFlexGrid1.text) = sel_inr Then For i = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i If i = 0 Then txt = txt + LTrim(str(model_time + base_year)) + " " + fspace(MSFlexGrid1.text, 10) Else txt = txt + fspace(MSFlexGrid1.text, 10) End If Next txt = txt + vbCrLf End If End If Next End If ' Households ' text headers If chkLogheaderh.value = 1 Then 'chkLogheaderh.value = 0 For i = 0 To MSFlexGrid2.Cols - 1 MSFlexGrid2.Row = 0 MSFlexGrid2.Col = i If i = 0 Then txt = txt + "Year " + fspace(MSFlexGrid2.text, 10) Else txt = txt + fspace(MSFlexGrid2.text, 10) End If Next txt = txt + vbCrLf End If ' data If chkLogh.value = 1 Then For i = 0 To MSFlexGrid2.Cols - 1 MSFlexGrid2.Row = 1 MSFlexGrid2.Col = i If i = 0 Then txt = txt + "Year " + fspace(MSFlexGrid2.text, 10) Else txt = txt + fspace(MSFlexGrid2.text, 10) End If Next txt = txt + vbCrLf End If frmEditor.rtbLog.text = frmEditor.rtbLog.text & txt frmEditor.rtbLog.SelStart = Len(frmEditor.rtbLog.text) End Sub
Private Sub Form_Resize() If Me.Width > 1000 Then MSFlexGrid1.Width = Me.Width - 200 If Me.Width > 1000 Then MSFlexGrid2.Width = Me.Width - 200 End Sub
Private Sub Form_Unload(Cancel As Integer) coll_view.Remove Me.Tag End Sub
Private Sub yellow_i() Dim i As Integer, j As Integer If sel_inr > 0 Then For i = 1 To MSFlexGrid1.Rows - 1 MSFlexGrid1.Row = i MSFlexGrid1.Col = 1 If MSFlexGrid1.text = sel_inr Then For j = 0 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = j MSFlexGrid1.CellBackColor = QBColor(14) Next Else MSFlexGrid1.Col = 0 MSFlexGrid1.CellBackColor = &H8000000F For j = 1 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = j MSFlexGrid1.CellBackColor = QBColor(15) Next End If Next End If End Sub
Private Sub chkLogalli_Click() If chkLogalli.value = 1 Then chkLogseli.value = 0 End If End Sub
Private Sub chkLogseli_Click() If chkLogseli.value = 1 Then chkLogalli.value = 0 End If End Sub
Private Sub cmdLognowi_Click() Call Copytoeditor End Sub