Private Sub txtSTNO_KeyPressKeyAscii As Integer Select Case KeyAscii Case vbKey0 To vbKey9, 8, 47, 67, 99, 80, 112 Private Sub txtSTNO_LostFocus If txtSTNO.Text "" And txtYear.Text
Trang 1BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG
TRUNG TÂM KHÍ TƯỢNG THỦY VĂN QUỐC GIA
BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC VÀ CÔNG NGHỆ CẤP BỘ:
Trang 2CHƯƠNG TRÌNH NGUỒN
Chương trình in:
1 In trang bìa BKT1:
Option Explicit
Option Compare Text
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
If Trim(txtSTNO.Text) = "" Or Trim(txtYear.Text) = "" Or Trim(txtMonth.Text) = "" Then Exit Sub
Private Sub cmdSave_Click()
If Trim(txtSTNO.Text) = "" Then Exit Sub
Save Trim(txtSTNO.Text)
End Sub
Private Sub txtMonth_LostFocus()
If txtSTNO.Text <> "" And txtYear.Text <> "" And txtMonth.Text <> "" Then
Show_Data txtSTNO, CInt(txtYear.Text), CByte(txtMonth.Text)
Trang 3Private Sub txtSTNO_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8, 47, 67, 99, 80, 112
Private Sub txtSTNO_LostFocus()
If txtSTNO.Text <> "" And txtYear.Text <> "" And txtMonth.Text <> "" Then Show_Data txtSTNO, CInt(txtYear.Text), CByte(txtMonth.Text)
Trang 4Select Case KeyAscii
Case vbKey0 To vbKey9, 8
Private Sub txtMonth_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8
Trang 5Sub Save(ByVal STNO As String)
Dim rsStation_mas As dao.Recordset
strSQL = strSQL & "FROM STATION_MAS "
strSQL = strSQL & "WHERE (((STATION_MAS.STNO)='" & STNO & "'));" Set rsStation_mas = db.OpenRecordset(strSQL)
With rsStation_mas
Trang 6If Not EOF Then
Dim datEnMonth As Date
Dim rsStation_mas As dao.Recordset
Dim rsInstruments As dao.Recordset
Trang 7Dim rsObservator As dao.Recordset
strSQL = strSQL & "FROM (STATION_MAS INNER JOIN AREA "
strSQL = strSQL & "ON STATION_MAS.AreaID = AREA.AreaID) "
strSQL = strSQL & "INNER JOIN PROVINCE ON STATION_MAS.ProvinceID = PROVINCE.ProvinceID "
strSQL = strSQL & "WHERE (((STATION_MAS.STNO)='" & STNO & "'));"
Set rsStation_mas = db.OpenRecordset(strSQL)
With rsStation_mas
If RecordCount > 0 Then
'If Not IsNull(!AreaName) Then rsCover!Region = !AreaName
If Not IsNull(!ProvinceName) Then
If Not IsNull(!AL) Then
txtAL.Text = !AL & " m"
Trang 8If Not IsNull(!Lon) Then
Set rsStation_mas = Nothing
strSQL = "select * from istruments "
Trang 9strSQL = strSQL & "where stno='" & STNO & "'"
Select Case !InstrID
Case 1 'nhiet ke kho
If Not IsNull(!InstrType) Then txtAtmos_Type.Text = !InstrType
If Not IsNull(!InstrMadeIn) Then txtAtmos_Madein.Text = !InstrMadeIn
If Not IsNull(!InstrCorr) Then txtAtmosCorrection.Text = !InstrCorr
If Not IsNull(!InstrHeight) Then txtAtmosHeight.Text = !InstrHeight & " m"
Trang 10Set rsInstruments = Nothing
strSQL = "SELECT * FROM observators"
strSQL = strSQL & " Where (STNO ='" & STNO & "')"
Set rsObservator = db.OpenRecordset(strSQL)
Trang 11Sub ObservatorDefine(OBS As String, OBS1 As String, OBS2 As String, _
OBS3 As String, LineCount As Integer)
Dim intHyphenPos As Integer
Dim intOBSNumber As Integer
Dim intBeginString As Integer
For intHyphenPos = 1 To Len(OBS)
If Mid(OBS, intHyphenPos, 1) = "," Then
Dim intX As Integer
Dim intY As Integer
Dim intTopMargin As Integer
Dim intLeftMargin As Integer
Trang 12Dim intRightMargin As Integer
Dim intBottomMargin As Integer
Dim intLineSpace As Integer
Dim intLeftSpace As Integer
Dim intRowHeight As Integer
Trang 13Dim strOBS As String
Dim strOBS1 As String
Dim strOBS2 As String
Dim strOBS3 As String
Dim intObsLine As Integer
intY = intY + intRowHeight
If Trim(txtObservator.Text) <> "" Then
strOBS = Trim(txtObservator.Text)
ObservatorDefine strOBS, strOBS1, strOBS2, strOBS3, intObsLine
Trang 14Printer.CurrentX = intLeftMargin + intLeftSpace + 130 Printer.CurrentY = intY
Printer.Print strOBS1
If strOBS2 <> "" Then
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 130 Printer.CurrentY = intY
Printer.Print Trim(strOBS2)
End If
If strOBS3 <> "" Then
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 130 Printer.CurrentY = intY
Printer.Print Trim(strOBS3)
End If
End If
intY = intY + (4 - intObsLine) * intRowHeight
'intY = intY + intRowHeight
'intY = intY + intRowHeight
Trang 17intY = intY + intRowHeight
intY = intY + intRowHeight
If InStr(1, txtDayVV.Text, Chr(13)) > 0 Then
Printer.CurrentX = intLeftMargin + intLeftSpace + 85
Printer.CurrentY = intY
Printer.Print Mid(txtDayVV.Text, 1, InStr(1, txtDayVV.Text, Chr(13)))
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 85
Trang 18Dim intCHR13 As Integer
Dim intCHR13_1 As Integer
intY = intY + intRowHeight
intY = intY + intRowHeight
intCHR13 = InStr(intCHR13_1, txtNote.Text, Chr(13))
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 20
intY = intY + intRowHeight
intY = intY + intRowHeight
End If
Else
intY = intY + intRowHeight
intY = intY + intRowHeight
Trang 19intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
Dim strPrinter As String
Dim intX As Integer
Dim intY As Integer
Dim intTopMargin As Integer
Dim intLeftMargin As Integer
Dim intRightMargin As Integer
Dim intBottomMargin As Integer
Dim intLineSpace As Integer
Dim intLeftSpace As Integer
Dim intRowHeight As Integer
Trang 20Printer.Line (intLeftMargin + intLineSpace, intTopMargin +
intLineSpace)-(intRightMargin - intLineSpace, intTopMargin + intLineSpace)
Printer.Line (intLeftMargin + intLineSpace, intTopMargin +
intLineSpace)-(intLeftMargin + intLineSpace, intBottomMargin - intLineSpace)
Printer.Line (intRightMargin - intLineSpace, intTopMargin +
intLineSpace)-(intRightMargin - intLineSpace, intBottomMargin - intLineSpace)
Printer.Line (intLeftMargin + intLineSpace, intBottomMargin - (intRightMargin - intLineSpace, intBottomMargin - intLineSpace)
Trang 21intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Trang 22
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Họ, tên tr-ỏng trạm: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Họ, tên quan trắc viên: "
intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Hiệu chính khí cụ:"
Printer.CurrentX = intLeftMargin + intLeftSpace + 200 Printer.CurrentY = intY
Printer.Print "Độ cao chậu khí áp trên mặt biển: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Máy gió Vild số:"
Printer.CurrentX = intLeftMargin + intLeftSpace + 200 Printer.CurrentY = intY
Printer.Print "Độ cao trên mặt đất: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Máy gió tự báo số:"
Printer.CurrentX = intLeftMargin + intLeftSpace + 200
Trang 23Printer.CurrentY = intY
Printer.Print "Độ cao trên mặt đất: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Máy gió tự ghi số:"
Printer.CurrentX = intLeftMargin + intLeftSpace + 200 Printer.CurrentY = intY
Printer.Print "Độ cao trên mặt đất: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Thùng đo m-a số: "
Printer.CurrentX = intLeftMargin + intLeftSpace + 200 Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "ống đo bốc hơi Piche số: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 50 Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Trang 24Printer.CurrentY = intY
Printer.Print "NhiÖt kÕ tèi cao sè: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "trong lÒu"
Printer.CurrentX = intLeftMargin + intLeftSpace + 50
Printer.CurrentY = intY
Printer.Print "NhiÖt kÕ tèi cao sè: "
Printer.CurrentX = intLeftMargin + intLeftSpace + 200
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 50
Printer.CurrentY = intY
Printer.Print "NhiÖt kÕ tèi thÊp sè:"
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "§ång hå kiÓu: §Ó bµn §iÒu chØnh theo giê: §µi TiÕng nãi ViÖt Nam"
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "C¸c tiªu ®iÓm tÇm nh×n ngang: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "- Lóc trêi tèi:"
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "- Lóc trêi s¸ng:"
intY = intY + 2 * intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Trang 25Printer.FontSize = 12
Printer.Print "Ghi chú: (Thay đổi vị trí trạm, v-ờn quan trắc, máy thiết bị hoặc
điều chỉnh máy tự ghi v.v )"
Printer.FontSize = 13
intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Họ tên ng-ời lập bảng: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Họ tên và nhận xét của tr-ởng trạm "
intY = intY + intRowHeight
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Họ tên và nhận xét của kiểm soát viên: "
intY = intY + intRowHeight
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Họ tên và nhận xét của ng-ời kiểm tra cuối cùng: "
End Sub
Private Sub txtYear_LostFocus()
If txtSTNO.Text <> "" And txtYear.Text <> "" And txtMonth.Text <> "" Then Show_Data txtSTNO, CInt(txtYear.Text), CByte(txtMonth.Text)
End If
End Sub
Trang 262 In bìa BKT10:
Option Explicit
Option Compare Text
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPrint_Click()
If Trim(txtSTNO.Text) = "" Or Trim(txtYear.Text) = "" Or Trim(txtMonth.Text) = "" Then Exit Sub
Private Sub cmdSave_Click()
If Trim(txtSTNO.Text) = "" Then Exit Sub
Save Trim(txtSTNO.Text)
End Sub
Private Sub txtMonth_LostFocus()
If txtSTNO.Text <> "" And txtYear.Text <> "" And txtMonth.Text <> "" Then Show_Data txtSTNO, CInt(txtYear.Text), CByte(txtMonth.Text)
Trang 27Private Sub txtSTNO_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8, 47, 67, 99, 80, 112
Private Sub txtSTNO_LostFocus()
If txtSTNO.Text <> "" And txtYear.Text <> "" And txtMonth.Text <> "" Then Show_Data txtSTNO, CInt(txtYear.Text), CByte(txtMonth.Text)
Private Sub txtYear_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8
Trang 28Private Sub txtMonth_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9, 8
Trang 29Sub Save(ByVal STNO As String)
Dim rsStation_mas As dao.Recordset
strSQL = strSQL & "FROM STATION_MAS "
strSQL = strSQL & "WHERE (((STATION_MAS.STNO)='" & STNO & "'));" Set rsStation_mas = db.OpenRecordset(strSQL)
Trang 30Sub ShowCorDF24OfLstDay(ByVal STNO As String, ByVal Year As Integer, _
ByVal Month As Byte)
Dim bytDay As Byte
strSQL = strSQL & "') AND (DDAY=" & bytDay
strSQL = strSQL & ") AND (mMonth=" & Month
strSQL = strSQL & ") AND (yYear=" & Year
strSQL = strSQL & ") AND (HOUR=24))"
Sub Show_Data(STNO As String, Year As Integer, Month As Integer)
Dim rsStation_mas As dao.Recordset
Trang 31Dim rsInstruments As dao.Recordset
Dim rsObservator As dao.Recordset
strSQL = strSQL & "FROM (STATION_MAS INNER JOIN AREA "
strSQL = strSQL & "ON STATION_MAS.AreaID = AREA.AreaID) "
strSQL = strSQL & "INNER JOIN PROVINCE ON STATION_MAS.ProvinceID = PROVINCE.ProvinceID "
strSQL = strSQL & "WHERE (((STATION_MAS.STNO)='" & STNO & "'));"
Set rsStation_mas = db.OpenRecordset(strSQL)
With rsStation_mas
If RecordCount > 0 Then
'If Not IsNull(!AreaName) Then rsCover!Region = !AreaName
If Not IsNull(!ProvinceName) Then
If Not IsNull(!AL) Then
txtAL.Text = !AL & " m"
Trang 32Set rsStation_mas = Nothing
strSQL = "SELECT * FROM ISTRUMENTS"
strSQL = strSQL & " Where (STNO ='" & STNO & "')"
Trang 33If Not IsNull(!InstrMadeIn) Then txtAuto_write_wind_madein.Text =
Set rsInstruments = Nothing
strSQL = "SELECT * FROM observators"
strSQL = strSQL & " Where (STNO ='" & STNO & "')"
Set rsObservator = db.OpenRecordset(strSQL)
Trang 34Sub Page_BKT10_1(STNO As String, Name As String, Year As Integer, Month As Integer)
Dim strPrinter As String
Dim intX As Integer
Dim intY As Integer
Dim intTopMargin As Integer
Dim intLeftMargin As Integer
Dim intRightMargin As Integer
Dim intBottomMargin As Integer
Dim intLineSpace As Integer
Dim intLeftSpace As Integer
Dim intRowHeight As Integer
Printer.Line (intLeftMargin + intLineSpace, intTopMargin +
intLineSpace)-(intRightMargin - intLineSpace, intTopMargin + intLineSpace)
Trang 35Printer.Line (intLeftMargin + intLineSpace, intTopMargin + (intLeftMargin + intLineSpace, intBottomMargin - intLineSpace)
Printer.Line (intRightMargin - intLineSpace, intTopMargin + (intRightMargin - intLineSpace, intBottomMargin - intLineSpace)
Printer.Line (intLeftMargin + intLineSpace, intBottomMargin - (intRightMargin - intLineSpace, intBottomMargin - intLineSpace)
Trang 36intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "§é cao v-ên quan tr¾c trªn mÆt biÓn:"
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "M¸y giã tù ghi sè:"
Printer.CurrentX = intLeftMargin + intLeftSpace + 200 Printer.CurrentY = intY
intY = intY + 3 * intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Printer.Print "Hä, tªn tr-áng tr¹m: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace Printer.CurrentY = intY
Trang 37Printer.Print "Hä, tªn quan tr¾c viªn: "
intY = intY + 3 * intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "TrÞ sè 24h ngµy cuèi th¸ng tr-íc:"
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Ghi chó:"
intY = intY + 4 * intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Printer.CurrentY = intY
Printer.Print "Hä tªn ng-êi lËp b¶ng: "
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace
Dim intX As Integer
Dim intY As Integer
Dim intTopMargin As Integer
Dim intLeftMargin As Integer
Dim intRightMargin As Integer
Trang 38Dim intBottomMargin As Integer
Dim intLineSpace As Integer
Dim intLeftSpace As Integer
Dim intRowHeight As Integer
Trang 39Printer.CurrentX = intLeftMargin + intLeftSpace + 320 Printer.CurrentY = intY
intY = intY + intRowHeight
intY = intY + intRowHeight
intY = intY + intRowHeight
If Trim(txtStationManeger.Text) <> "" Then
Printer.CurrentX = intLeftMargin + intLeftSpace + 110
Trang 40Dim strOBS As String
Dim strOBS1 As String
Dim strOBS2 As String
Dim strOBS3 As String
Dim intObsLine As Integer
intY = intY + intRowHeight
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 110
Printer.CurrentY = intY
Printer.Print Trim(strOBS2)
End If
If strOBS3 <> "" Then
intY = intY + intRowHeight
Printer.CurrentX = intLeftMargin + intLeftSpace + 110
Dim intCHR13 As Integer
Dim intCHR13_1 As Integer
intY = intY + intRowHeight
If Trim(txtNote.Text) <> "" Then
intCHR13 = InStr(1, txtNote.Text, Chr(13))
If intCHR13 > 0 Then