?? frmpoly.frm
字號:
i = i + 1
A(i, 1) = oleExcel.Worksheets("化學劑用量參數表").Range("A1").Cells(i, 1): A(i, 2) = oleExcel.Worksheets("化學劑用量參數表").Range("b1").Cells(i, 1)
A(i, 3) = oleExcel.Worksheets("化學劑用量參數表").Range("c1").Cells(i, 1)
A(i, 4) = oleExcel.Worksheets("化學劑用量參數表").Range("d1").Cells(i, 1)
A(i, 5) = oleExcel.Worksheets("化學劑用量參數表").Range("e1").Cells(i, 1)
A(i, 6) = oleExcel.Worksheets("化學劑用量參數表").Range("f1").Cells(i, 1)
A(i, 7) = oleExcel.Worksheets("化學劑用量參數表").Range("g1").Cells(i, 1)
A(i, 8) = oleExcel.Worksheets("化學劑用量參數表").Range("h1").Cells(i, 1)
A(i, 9) = oleExcel.Worksheets("化學劑用量參數表").Range("i1").Cells(i, 1)
A(i, 10) = oleExcel.Worksheets("化學劑用量參數表").Range("j1").Cells(i, 1)
A(i, 11) = oleExcel.Worksheets("化學劑用量參數表").Range("k1").Cells(i, 1)
Loop While A(i, 1) <> 0
Count = i - 2
Me.MSFlexGrid1.Rows = Count + 1
VarPingJiaQi = Count
TxtNianXian.Text = Str(Count)
For i = 1 To Count
For k = 1 To 10
TempS = A(i + 1, k + 1)
VarHuaXueji(i, k + 1) = Val(TempS) '將數據庫數據寫入化學劑變量數組
Next k
Next i
For i = 1 To Count
VarHuaXueji(i, 1) = i
Next i
oleExcel.DisplayAlerts = False
oleExcel.Quit
Set oleExcel = Nothing
Else
Count = 0 '表中的記錄數
' MsgBox OpeningDatabase
''******************修改紀錄***********************
Set Data1 = New ADODB.Connection
Data1.CursorLocation = adUseClient
Data1.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & filename1
Set adozjyyyhg = New ADODB.Recordset
adozjyyyhg.Open "select * from 化學劑用量參數表", Data1, adOpenStatic, adLockOptimistic
'Data1.Refresh
With adozjyyyhg
' .OpenRecordset
If (.EOF = True) And (.BOF = True) Then
'MsgBox "數據庫無記錄"
.MoveLast
Else
.MoveFirst
Do While .EOF = False
Count = Count + 1
.MoveNext
Loop
'MsgBox "數據庫共有" & Count & "條記錄"
End If
End With
VarPingJiaQi = Count
TxtNianXian.Text = Str(Count)
'Data1.Refresh
adozjyyyhg.MoveFirst
For i = 1 To Count
For k = 1 To 7
'MsgBox Data1.Recordset.Fields(k).
TempS = adozjyyyhg.Fields(k).Value
VarHuaXueji(i, k + 1) = Val(TempS)
Next k
adozjyyyhg.MoveNext
Next i
adozjyyyhg.Close
For i = 1 To Count
VarHuaXueji(i, 1) = i
Next i
End If
mTotalRows& = Str(Count)
MSFlexGrid1.Rows = mTotalRows& + 1
For m = 1 To mTotalRows&
MSFlexGrid1.RowHeight(m) = 400 '設定高度
MSFlexGrid1.ColAlignment(0) = 4
For n = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.ColAlignment(n) = 4
MSFlexGrid1.TextMatrix(m, n) = Format$(VarHuaXueji(m, n + 1), kr_frt$(n))
If MSFlexGrid1.TextMatrix(m, n) > 1000000000 Then
MSFlexGrid1.TextMatrix(m, n) = Format$(0.1, "0.000")
End If
Text1.Text = MSFlexGrid1.Text
Next n
MSFlexGrid1.TextMatrix(m, 0) = m
Next m
Exit Sub
myerrr:
MousePointer = 0
Me.Enabled = -1
Me.MousePointer = 1
End Sub
Public Sub ShengChengGrideAdd() '將網格中的數據添加到數據庫中的"數據輸入表"
Dim Count
Count = Val(TxtNianXian.Text)
VarPingJiaQi = Count
On Error GoTo myerrr
Set Data1 = New ADODB.Connection
Data1.CursorLocation = adUseClient
Data1.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & OpeningDatabase
Set adozjyyyhg = New ADODB.Recordset
adozjyyyhg.Open "select * from 化學劑用量參數表", Data1, adOpenStatic, adLockOptimistic
With adozjyyyhg
'MsgBox "eof=" & .EOF & "BOF=" & .BOF
If Not ((.EOF = True) And (.BOF = True)) Then
.MoveLast
End If
Do While .BOF = False
.Delete
.MovePrevious
Loop
If (.BOF = False) Then
.MoveFirst
.Delete
End If
For i = 1 To Count - 1
.AddNew ' 將網格中的數據添加到數據庫中的"化學劑用量參數表"
For k = 0 To 10
If MSFlexGrid1.TextArray(i * 11 + k) = "" Then
Str1 = "0"
Else
Str1 = MSFlexGrid1.TextArray(i * 11 + k)
End If
.Fields(k).Value = Str1
VarHuaXueji(i, k + 1) = Val(Str1) '將網格數據寫入化學劑變量數組
Next k
.Update
Next i
' End If
.Close
MsgBox "數據已經保存成功!", 0, "OK!"
End With
Exit Sub
myerrr:
MousePointer = 0
Me.Enabled = -1
Me.MousePointer = 1
End Sub
Private Sub SSCommand2_Click()
flag(1) = 2
ShengChengGrideAdd
End Sub
Private Sub SSCommand3_Click()
'
Beep
msg$ = "退出前是否存儲數據?"
Title$ = "退出"
xchoose = MsgBox(msg$, 35, Title$)
If xchoose = 2 Then Exit Sub
If xchoose = 6 Then
'newis = 2: flag(1) = 2
flag(1) = 2
ShengChengGrideAdd
End If
'newis = 2: flag(1) = 2
Me.Hide
Unload Me
End Sub
Private Sub del_line_Click()
Beep
MSFlexGrid1.Text = Text1.Text
If MSFlexGrid1.row = MSFlexGrid1.RowSel Then
sss$ = Trim$(Str$(MSFlexGrid1.RowSel - MSFlexGrid1.FixedRows + 1))
Else
sss$ = del1$ & "~" & del2$
End If
msg$ = "是否刪除序號為“" & sss$ & "”的設置信息?"
Title$ = "警告"
xchoose = MsgBox(msg$, 49, Title$)
If xchoose = 2 Then Exit Sub
If MSFlexGrid1.Rows - (Val(del2$) - Val(del1$) + 1) < 2 Then
For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
For k = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.TextMatrix(i, k) = ""
Next k
Next i
Else
If Val(del2$) + 1 <= MSFlexGrid1.Rows - 1 Then
For i = Val(del2$) + 1 To MSFlexGrid1.Rows - 1
For k = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.TextMatrix(i - (Val(del2$) - Val(del1$) + 1), k) = MSFlexGrid1.TextMatrix(i, k)
Next k
Next i
For i = MSFlexGrid1.Rows - (Val(del2$) - Val(del1$) + 1) To MSFlexGrid1.Rows - 1
For k = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.TextMatrix(i, k) = ""
Next k
Next i
End If
End If
Text1.Visible = 0
Call blank_MSFlexGridshow
MSFlexGrid1.RowSel = MSFlexGrid1.row
' Call draw_line
End Sub
Private Sub sspanel3_Click()
If TxtNianXian.Text = "" Then
MsgBox "必須輸入生產年限!"
Exit Sub
End If
RowTemp = Val(TxtNianXian.Text)
If RowTemp > 25 Then
MsgBox "生產年限過長,請重新輸入?", "警告"
Exit Sub
End If
MSFlexGrid1.Rows = Val(TxtNianXian.Text + 1)
'MSFlexGrid1.RowHeight(Val(TxtNianXian.Text)) = 400
MSFlexGrid1.RowHeightMin = 400
''MSFlexGrid1.col = 1
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 0) = i
Next i
Text1.Visible = False
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 38 'up
MSFlexGrid1.Text = Text1.Text
Text1.Visible = 0
MSFlexGrid1.SetFocus
KeyAscii = 0
SendKeys "{UP}"
'' Call draw_line
Case 40 'down
MSFlexGrid1.Text = Text1.Text
Text1.Visible = 0
MSFlexGrid1.SetFocus
KeyAscii = 0
SendKeys "{DOWN}"
'' Call draw_line
End Select
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> 46) And (KeyAscii <> 8) And (KeyAscii <> 13) And (KeyAscii <> 27) Then
Beep
KeyAscii = 0
End If
Select Case KeyAscii
Case 13 'Enter
MSFlexGrid1.Text = Text1.Text
' Call draw_line
Text1.Visible = 0
MSFlexGrid1.SetFocus
KeyAscii = 0
If MSFlexGrid1.row < MSFlexGrid1.Rows - 1 Then
MSFlexGrid1.row = MSFlexGrid1.row + 1
If MSFlexGrid1.row = MSFlexGrid1.Rows - 1 Then MSFlexGrid1.TopRow = MSFlexGrid1.TopRow + 1: Exit Sub
For i = 1 To 10
If Not (MSFlexGrid1.RowIsVisible(MSFlexGrid1.row + 1)) Then MSFlexGrid1.TopRow = MSFlexGrid1.TopRow + 1 Else Exit For
Next i
Else
If MSFlexGrid1.col < MSFlexGrid1.Cols - 1 Then MSFlexGrid1.TopRow = MSFlexGrid1.FixedRows: MSFlexGrid1.row = MSFlexGrid1.FixedRows: MSFlexGrid1.col = MSFlexGrid1.col + 1
If MSFlexGrid1.col = MSFlexGrid1.Cols - 1 Then MSFlexGrid1.LeftCol = MSFlexGrid1.LeftCol + 1: Exit Sub
For i = 1 To 20
If Not (MSFlexGrid1.ColIsVisible(MSFlexGrid1.col + 1)) Then
MSFlexGrid1.LeftCol = MSFlexGrid1.LeftCol + 1
Else
If (MSFlexGrid1.CellLeft + MSFlexGrid1.CellWidth + Text1.Width) > MSFlexGrid1.Width Then MSFlexGrid1.LeftCol = MSFlexGrid1.LeftCol + 1
Exit For
End If
Next i
End If
Case 27 'Escape
KeyAscii = 0
Text1.Text = MSFlexGrid1.Text
Text1.Visible = 0
MSFlexGrid1.SetFocus
End Select
End Sub
Private Sub MSFlexGrid1_keypress(KeyAscii As Integer)
Dim char As String
Select Case KeyAscii
Case 27 'Escape key
Text1.Text = MSFlexGrid1.Text 'add this if desired
Case Else
If KeyAscii = 13 Then 'show text1 with full text
Text1.Text = MSFlexGrid1.Text
Text1.SelStart = Len(Text1.Text)
Else
char = Chr$(KeyAscii)
Text1.Text = char
Text1.SelStart = 1
End If
Call showtextbox
KeyAscii = 0
End Select
End Sub
Private Sub MSFlexGrid1_RowColChange()
If bb = 2 Then
Text1.Text = MSFlexGrid1.Text
Call showtextbox
End If
End Sub
Private Sub MSFlexGridshow()
Dim Items(0 To 11) As String
Dim IntLoop As Integer
Items(0) = "年份"
Items(1) = "化學劑1(噸)"
Items(2) = "價格1(萬元/噸)"
Items(3) = "化學劑2(噸)"
Items(4) = "價格2(萬元/噸)"
Items(5) = "化學劑3(噸)"
Items(6) = "價格3(萬元/噸)"
Items(7) = "化學劑4(噸)"
Items(8) = "價格4(萬元/噸)"
Items(9) = "化學劑5(噸)"
Items(10) = "價格5(萬元/噸)"
bb = 1: jsq = 10
sat_max = Val(TxtNianXian.Text)
mTotalRows& = sat_max + 1
MSFlexGrid1.Visible = False
MSFlexGrid1.Cols = jsq + 1: MSFlexGrid1.Rows = mTotalRows&
MSFlexGrid1.MergeCells = flexMergeNever
MSFlexGrid1.FixedCols = 1: MSFlexGrid1.FixedRows = 1
MSFlexGrid1.row = 0
For IntLoop = 0 To 10
MSFlexGrid1.col = IntLoop
MSFlexGrid1.Text = Items(IntLoop)
Next IntLoop
If flag(1) = 1 Then
For m = 1 To mTotalRows& - 1
MSFlexGrid1.RowHeight(m) = 400 '設定高度
MSFlexGrid1.ColAlignment(0) = 4
For n = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.ColAlignment(n) = 4
MSFlexGrid1.TextMatrix(m, n) = ""
Text1.Text = MSFlexGrid1.Text
Next n
Next m
Else
22 For m = 1 To mTotalRows& - 1
MSFlexGrid1.RowHeight(m) = 400 '設定高度
MSFlexGrid1.ColAlignment(0) = 4
For n = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.ColAlignment(n) = 4
MSFlexGrid1.TextMatrix(m, n) = Format$(VarHuaXueji(m, n + 1), kr_frt$(n))
Text1.Text = MSFlexGrid1.Text
Next n
Next m
End If
MSFlexGrid1.ColWidth(0) = 500
For i = 0 To MSFlexGrid1.Cols - 2
MSFlexGrid1.ColWidth(i + 1) = (13000) / 9 * formbl_x
Next i
MSFlexGrid1.RowHeight(0) = 500
Text1.Text = MSFlexGrid1.Text: Text1.Visible = 0
MSFlexGrid1.col = MSFlexGrid1.FixedCols: MSFlexGrid1.row = 1
MSFlexGrid1.TopRow = 1: MSFlexGrid1.LeftCol = MSFlexGrid1.FixedCols
Call blank_MSFlexGridshow
MSFlexGrid1.Visible = -1
bb = 2
End Sub
Private Sub blank_MSFlexGridshow()
For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 0) = Trim$(Str$(i - MSFlexGrid1.FixedRows + 1))
Next i
Text1.Text = MSFlexGrid1.Text
' If MSFlexGrid1.Text = "" Then MSFlexGrid1_keypress 13
End Sub
Private Sub TxtNianXian_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> 46) And (KeyAscii <> 8) And (KeyAscii <> 13) And (KeyAscii <> 27) Then
Beep
KeyAscii = 0
End If
If KeyAscii = 13 Then
Beep
Call nianxianchange
End If
End Sub
Private Sub UpDown1_DownClick()
If Val(TxtNianXian.Text) > 1 Then
TxtNianXian.Text = LTrim$(Str(Val(TxtNianXian.Text) - 1))
Call nianxianchange
End If
End Sub
Private Sub UpDown1_UpClick()
If Val(TxtNianXian.Text) < 20 Then
TxtNianXian.Text = LTrim$(Str(Val(TxtNianXian.Text) + 1))
Call nianxianchange
End If
End Sub
Sub nianxianchange()
'If TxtNianXian.Text = "" Then
'MsgBox "必須輸入生產年限!"
'Exit Sub
'End If
RowTemp = Val(TxtNianXian.Text)
MSFlexGrid1.Rows = Val(TxtNianXian.Text + 1)
MSFlexGrid1.RowHeightMin = 400
''MSFlexGrid1.col = 1
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 0) = i
Next i
Text1.Visible = False
If RowTemp >= 20 Then
MsgBox "生產年限過長,請重新輸入?", 0, "警告"
TxtNianXian.Text = 20
Exit Sub
End If
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -