Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Giúp em bài acsess vba -TÌM SỐ LỚN NHẤT
#1
Như tiêu đề , ông thầy tụi em cho 1 bài rất chi là khoai của acsess , còn ko dạy làm như nào nữa , nhờ anh admin hay anh super và toàn thể member giúp đỡ

ĐỀ : Tạo 1 CSDL trong cdsl này tạo 1 form có nhãn là : CHUONG TRÌNH TÌM SỐ LỚN NHẤT VÀ VỊ TRÍ

trong form này có :
+ Nút lệnh "NHập số liệu" để gắn với thủ tục nhằm nhập các số liệu : số hàng , số cột và các giá trị tuong ứng trong Ma trận , ghi kết quả lên 1 tabe có tên là "KET QUA MAX" ( max vị trí hàng i , cột j)
+Nút lệnh "TÌM SỐ Lớn nhất và VỊ Trí" để gắn với thủ tục tìm số lớn nhất và vị trí cảu nó trong ma trận
+Nút lệnh "XEM KẾT QUẢ" để gắn với thủ tục xem số LN và vị trí cảu nó


em thì chỉ biết làm trên module cảu acsess chứ ko bít gán vào nút theo yêu cầu của ông giáo , em đã code sẵn module sẵn đây là link : http://www.mediafire.com/file/62pt3gr5q4...abase4.mdb anh chị xem giup rùi gán vào form và table cho em nhé . thanks alllllllllllllllllllllllll
Chữ ký của blackjack Xin chào, mình là blackjack, Tham gia http://thuthuataccess.com/forum từ ngày 05-03 -12.
Reply
Những người đã cảm ơn
#2
- Ý là bạn mún gắn nút vào các procedure (sub) trong module hay code cho đúng yêu cầu đây !
Nếu gắn từ module thì mình nghĩ trong event click của button gọi procedure tương ứng trong module là đc chứ nhỉ ( Tên_module.Tên_thủ_tục hoặc call tên_module.Tên_thủ_tục). Theo mình hiểu như thế có gì sai bạn đừng chọi dép nhá. À mà hình như code trong Form1 của bạn có vấn đề đấy nhá ^^!
Chữ ký của hoanglonglangtu Chiều tắt nắng trên con đường quen thuộc
Mưa rơi buồn qua ngõ vắng không em
Từng hạt ngọc rơi đùa qua kẽ lá
Những giọt tràn đầy ngõ ngách tâm tư
Em có biết chiều nay anh vẫn nhớ
Ở nơi nào em có nhớ chăng anh

Trên đời có quá nhiều chữ nếu,đáng tiếc là đều đã qua,việc đã xảy ra,hối hận cũng vô dụng
ღღღღღTài sản của hoanglonglangtu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn blackjack
#3
nhưng mỗi thủ tục click đó chỉ hiểu 1 lần , tớ ko làm sao cho nó hiểu cái nút đầu tiên command1 nhập ma trận rồi , sang nút command 2 để nó hiểu kết quả nhập ở ma trận 1 , rồi tính ra kết quả , mong anh em fix hộ tớ , chứ tớ chạy code ở module thì ngon lành các bạn thử chạy xem nhé
Chữ ký của blackjack Xin chào, mình là blackjack, Tham gia http://thuthuataccess.com/forum từ ngày 05-03 -12.
Reply
Những người đã cảm ơn
#4
Trong công ty mình không up file lên đc, chir dám down thui, up lên bị bắt ^^!
Tớ hướng dẫn bạn nhé !!
- Đầu tiên bạn tạo table MaTran gồm 2 fields : ViTri kiểu text, SoLieu kiểu number

-Trên form
+ Tao 1 textbox ten la textbox1 thuoc tinh visible= False
+ Nút nhập liêu : event click (command1) code như sau :
Mã:
Private Sub Command1_Click()
DoCmd.SetWarnings False
DoCmd.RunCommand "delete * from MaTran"
Dim n As Integer
Dim m As Integer
Dim a(1 To 10, 1 To 10) As Single
Dim i As Integer
Dim j As Integer
n = InputBox("Nhap so hang n:")
m = InputBox("Nhap so cot m:")
For i = 1 To n
   For j = 1 To m
   a(i, j) = InputBox("Nhap vao gia tri a[" & i & "," & j & "]")
   DoCmd.RunCommand "Insert into MaTran values ('" & i & "," & j & "'," & a(i,j) & ")"
   Next
Next
End Sub

- Kế tiếp : nút tính toán ( command2)
Private Sub Command2_Click()
Dim max, min As Single
Dim db As Database
Dim Rs As Recordset
Set Rs = db.OpenRecordset("MaTran", DB_OPEN_TABLE)
Rs.MoveFirst
max = Rs!DuLieu
vtmax = Rs!vitri
min = Rs!DuLieu
vtmin = Rs!vitri
While Rs.EOF = False
   If Rs!SoLieu < min Then
        min = Rs!SoLieu
        vtmin = Rs!vitri
   End If
    If Rs!SoLieu > max Then
        max = Rs!SoLieu
        vtmax = Rs!vitri
    End If
   Rs.MoveNext
Loop
    Rs.Close
MsgBox " da tinh xong"
textbox1= " so max = " & max & " o vi tri " & vtmax & " so nho nhat " & min & " o vi tri " & vtmin
end sub

- Nút hiển thị kết quả : command 3    chỉ cần hiển thị kqua
Private Sub Command3_Click()
    MsgBox "ket qua  " & chr(10) & textbox1
End Sub

Mình đang gấp nên làm chưa test, bạn test lại nhé !! mình phải về nhà đây, nếu có lỗi sáng mai mình fix.
Chúc may mắn ^^!
Chữ ký của hoanglonglangtu Chiều tắt nắng trên con đường quen thuộc
Mưa rơi buồn qua ngõ vắng không em
Từng hạt ngọc rơi đùa qua kẽ lá
Những giọt tràn đầy ngõ ngách tâm tư
Em có biết chiều nay anh vẫn nhớ
Ở nơi nào em có nhớ chăng anh

Trên đời có quá nhiều chữ nếu,đáng tiếc là đều đã qua,việc đã xảy ra,hối hận cũng vô dụng
ღღღღღTài sản của hoanglonglangtu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
thanks anh nhé để em test hàng thử big green
anh ơi làm xong như anh nói rồi nó bị bug 1 chỗ ( DoCmd.RunCommand "delete * from MaTran" ) báo lỗi màu vàng chỗ dòng này khi click nút nhập liệu anh à

cả dòng này nữa anh à DoCmd.RunCommand "Insert into MaTran values ('" & i & "," & j & "'," & j & ")" nó ko hiểu cái chén thêm hàng cốt vào tabel matranj
Chữ ký của blackjack Xin chào, mình là blackjack, Tham gia http://thuthuataccess.com/forum từ ngày 05-03 -12.
Reply
Những người đã cảm ơn
#6
- Hi, nếu command ko đc thì bạn thay chỗ Docmd.command thành Docmd.RunSQL nhé, mình bị nhầm, sorry.
+ Mình fix lại rùi đây, bạn xem lại nhé :
Mã:
Option Compare Database
Public Sub Command1_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "delete * from MaTran"
Dim n As Integer
Dim m As Integer
Dim a(1 To 10, 1 To 10) As Single
Dim i As Integer
Dim j As Integer
n = InputBox("Nhap so hang n:")
m = InputBox("Nhap so cot m:")
For i = 1 To n
   For j = 1 To m
   a(i, j) = InputBox("Nhap vao gia tri a[" & i & "," & j & "]")
   DoCmd.RunSQL "Insert into MaTran values ('" & i & ", " & j & " '," & a(i, j) & ")"
   Next
Next
End Sub
Public Sub Command2_Click()
    Dim min, max, vtmax, vtmin
    Dim Db As Database
    Set Db = CurrentDb()
    Dim Rs As Recordset
    Set Rs = Db.OpenRecordset("MaTran", DB_OPEN_TABLE)
    Rs.MoveFirst
    min = Rs!solieu
    max = Rs!solieu
    vtmax = Rs!viTri
    vtmin = Rs!viTri
    Do While Rs.EOF = False
        If min > Rs!solieu Then
            min = Rs!solieu
            vtmin = Rs!viTri
        End If
        If max < Rs!solieu Then
            max = Rs!solieu
            vtmax = Rs!viTri
        End If
        Rs.MoveNext
    Loop
    Rs.Close
    MsgBox " Da tinh xong "
    Me.Text4 = "So lon nhat : " & max & " o vi tri " & vtmax & " so nho nhat : " & min & " o vi tri " & vtmin
    Exit Sub
End Sub
Private Sub Command3_Click()
    MsgBox "ket qua " & Chr(10) & Me.Text4
End Sub
Chữ ký của hoanglonglangtu Chiều tắt nắng trên con đường quen thuộc
Mưa rơi buồn qua ngõ vắng không em
Từng hạt ngọc rơi đùa qua kẽ lá
Những giọt tràn đầy ngõ ngách tâm tư
Em có biết chiều nay anh vẫn nhớ
Ở nơi nào em có nhớ chăng anh

Trên đời có quá nhiều chữ nếu,đáng tiếc là đều đã qua,việc đã xảy ra,hối hận cũng vô dụng
ღღღღღTài sản của hoanglonglangtu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Nhờ anh em trong diễn đàn giúp mình thiết kế chương trình báo dịch hàng ngày vinhpaint 1 254 21-06-16, 09:15 AM
Bài mới nhất: zinzin8x
  [Help] ai giúp mình code lại sql này thành access với li_95 0 123 24-04-16, 05:59 PM
Bài mới nhất: li_95
  Hướng dẫn giúp câu lệnh mở file access khác và lệnh import data. chihienphuco 5 3,896 17-11-15, 09:47 AM
Bài mới nhất: kieu manh
  [Help] Giúp tôi bảo vệ table user thucgia 20 1,699 25-09-15, 07:41 PM
Bài mới nhất: thucgia
  trợ giúp về giao diện access quan_pc 7 4,394 24-07-15, 02:39 PM
Bài mới nhất: tranthanhan1962

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ