Đánh giá chủ đề:
  • 1 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Giải thích mấy code chạy chữ
#1
Tình hình là thứ 2 em nộp bài rồi , mà vẫn mù tịt mấy cái code VBA , em áp dụng vào đc rồi nhưng chỉ làm theo thôi chứ ko hiểu mấy cái code này nó như thế nào cả , các anh chị giúp dùm em nha , diễn giải rõ ràng cho em hiểu happy , em cám ơn nhiều ạ

trước mắt là 2 code này ạ

code chữ chạy

Private Sub Form_Timer()

Dim x, y As String
x = Left(lblQLBH.Caption, 1)
y = Right(lblQLBH.Caption, Len(lblQLBH.Caption) - 1)

lblQLBH.Caption = y + x

End Sub


code chữ nhấp nháy tiêu đề form


Private Sub Form_Open(Cancel As Integer)
Me.Caption = "Du Lieu da bi khoa"
Me.TimerInterval = 600
End Sub

Private Sub Form_Timer()
If Me.Caption = Space(1) Then
Me.Caption = "Du lieu da bi khoa"
Else
Me.Caption = Space(1)
End If
End Sub


làm ơn diễn giải căn kẽ dùm em vì em mới vào nghề ạ happy
Chữ ký của hiepkhach Xin chào, mình là hiepkhach, Tham gia http://thuthuataccess.com/forum từ ngày 16-03 -12.
Reply
Những người đã cảm ơn
#2
Private Sub Form_Timer()

Dim x, y As String ' Khai báo 2 biến x,y kiểu chuỗi (String)
x = Left(lblQLBH.Caption, 1) ' Gán giá trị cho biến x = ký tự đầu tiên của chuỗi trên label lblQLBH ( hàm left(lblQLBH.caption,1) là cắt từ bên trái chuỗi lblQLBH.caption 1 ký tự nhé)

y = Right(lblQLBH.Caption, Len(lblQLBH.Caption) - 1) ' tương tự gán biến y = các ký tự còn lại của chuỗi
(right(lblQLBH.caption,len(lblQLBH.caption)-1) là chuỗi lblQLBH.caption từ bên phải len(lblQLBH.caption) - độ dài của chuỗi - trừ đi 1.
lblQLBH.Caption = y + x ' cho chuỗi lblQBH.caption = chuoi y + x, nghĩa là đem ký tự đầu về ký tự cuối so với lblQLBH.caption ban đầu.
--> sub này là ở mỗi timer() tick sẽ đem ký tự đầu của chuổi lblQLBH về ký tự cuối chuỗi, tao ra hiệu ứng chữ chạy
End Sub

code chữ nhấp nháy tiêu đề form


Private Sub Form_Open(Cancel As Integer)
Me.Caption = "Du Lieu da bi khoa" -- gán giá trị cho chuỗi
Me.TimerInterval = 600 -- cho thời gian nhấp nháy là 600/1000s 1 lần ^^!
End Sub

Private Sub Form_Timer()
If Me.Caption = Space(1) Then
Me.Caption = "Du lieu da bi khoa"
Else
Me.Caption = Space(1) ' cho chuỗi = 1 khoảng trắng
End If
--> sub này cho thay đổi chuỗi từ khoảng trắng & " Du lieu da bi khoa" trong mỗi timer tick tạo nên hiệu ứng nhấp nháy
End Sub

^^! mỏi tay, ko bít bạn hỉu ko nữa
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 hiepkhach , haquocquan
#3
Mã:
Form_Timer() : Hành động của form khi đến một khoảng thời gian TimerInterval
Left: bên trái
Right: Bên Phải
Len : Độ dài
lblQLBH.Caption : Nội dung của Nhãn có tên là lblQLBH
Me.Caption : Tiêu đề Form
Me.TimerInterval : Thời gian cách quảng giữa hai lần xảy ra sự kiện Form time. Tính bằng miligiây
Me.TimerInterval=600 => 0,6 giây sẽ lặp lại event form_timer 1 lần.

Space(1)= khoảng trắng
If...then....else..end if : Nếu...thì ...ngược lại...kết thúc hàm if.

Tình hình là mình rất ghét các bạn phát biểu những câu đại loại: Gấp lắm, mai, mốt em phải nộp bài rồi vân vân. Điều đó cho thấy bạn luôn chờ nước đến chân mới nhảy và thiếu sự nghiêm túc khi học tập. Mong rằng sau này khi hỏi trên diễn đàn, bạn chỉ cần hỏi, và tốt hơn phát biểu rằng : Em tìm khắp google nhưng vẫn chưa có kết quả! Rút kinh nghiệm nhé!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hiepkhach , haquocquan , quanghoa
#4
- Nhất trí a noname ^^! diễn đàn chỉ để chia sẻ kinh nghiệm, kiến thức chứ ko phải lười rồi dựa vào ng khác để gian dối trong học tập, nếu lười học tập ma gian dối thì dù kq học tốt bạn cũng chẳng làm nên đc trò trống gì !!
Ôm boom xíu ^^!
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 Noname , hiepkhach
#5
(16-03-12, 12:29 PM)Noname Đã viết:
Mã:
Form_Timer() : Hành động của form khi đến một khoảng thời gian TimerInterval
Left: bên trái
Right: Bên Phải
Len : Độ dài
lblQLBH.Caption : Nội dung của Nhãn có tên là lblQLBH
Me.Caption : Tiêu đề Form
Me.TimerInterval : Thời gian cách quảng giữa hai lần xảy ra sự kiện Form time. Tính bằng miligiây
Me.TimerInterval=600 => 0,6 giây sẽ lặp lại event form_timer 1 lần.

Space(1)= khoảng trắng
If...then....else..end if : Nếu...thì ...ngược lại...kết thúc hàm if.

Tình hình là mình rất ghét các bạn phát biểu những câu đại loại: Gấp lắm, mai, mốt em phải nộp bài rồi vân vân. Điều đó cho thấy bạn luôn chờ nước đến chân mới nhảy và thiếu sự nghiêm túc khi học tập. Mong rằng sau này khi hỏi trên diễn đàn, bạn chỉ cần hỏi, và tốt hơn phát biểu rằng : Em tìm khắp google nhưng vẫn chưa có kết quả! Rút kinh nghiệm nhé!

hic sao lại nói em thế ạ
em mới thấy 4rum nên vào post bài thôi , trước đó em cũng đi hỏi bạn bè mà chả ai biết , em mới học lập trình VBA mà . Em mò mãi mới biết cách bỏ code vào cho nó hoạt động , còn code thì vì ko có người giải thích nên em ko hiểu
.Thầy em dạy mà ổng dạy ko hiểu gì hết trơn , mơ mơ màng màng , rồi về ông bắt tự suy nghĩ viết 1 vài đoạn code để lấy điểm kiểm tra , ko biết nên em fai lên google lấy code của người ta về , nếu ko nghiêm túc thì em đã chả nói là mai em phải nộp bài rồi việc gì phải nói là tới thứ 2

Cảm ơn anh HoangLong và anh Noname nhiều ạ , em mới học lập trình VBA còn non nớt , mong các anh chỉ bảo thêm happy


@Anh HoangLong

Về cái code của em anh đã diển giải thì em hiểu như vầy anh xem có đúng ko nha

Khai báo 2 biến x và y , kiểu chuỗi string , sau đó gán giá trị cho biến x

x = Left(lblQLBH.Caption, 1) : Từ bên trái ( left ) mình lấy qua 1 kí tự , sau đó gán kí tự cho y , là số kí tự còn lại của chuỗi
ví dụ : chuỗi Việt Nam , từ bên trái lấy kí tự V ( là biến x ) gán kí tự cho biến y ( iệt Nam - 6 kí tự còn lại ) từ trái qua phải

số 1 là chữ V , là biến x

y = Right(lblQLBH.Caption, Len(lblQLBH.Caption) - 1) : Có nghĩa là khi đem kí tự đầu ( biến x ) về kí tự cuối của biến y là nó sẽ -1 kí tự và + 1 vào cuối chuỗi để cân bằng chuỗi , vì nếu ko -1 thì nó vẫn là cái lblQLBH.Caption và dư ra 1 kí tự

lblQLBH.Caption = y + x : 1 chuỗi bt sẽ là x + y , ở đây lấy y + x có nghĩa là nó đem kí tự đầu tiên về bên trái của chuỗi đến kí tự cuối cùng bên phải chuỗi và tạo ra hiệu ứng chuyển động của chữ từ phải qua trái

nếu là y-x thì sẽ chạy ngược lại trái qua phải

Anh xem em hiểu vậy có đúng ko ạ


cái code 2 em không hiểu chỗ If Me.Caption = Space(1) Then anh ơi happy



Chữ ký của hiepkhach Xin chào, mình là hiepkhach, Tham gia http://thuthuataccess.com/forum từ ngày 16-03 -12.
Reply
Những người đã cảm ơn
#6
Hàm left bạn hiểu đúng rùi đấy, nhưng mà hơi.. thiếu 1 chút.
Này nhé : ví dụ có chuỗi a="Viet Nam" thì len(a) = 8
dim x,y as tring
x= left(a,1) thi x=V và A vẫn là a="Viet Nam"
y=right(a,len(a)-1) nghĩa là gán cho y những ký tự của chuỗi a tính từ bên phải qua len(a)-1=7 ký tự như vậy a="Viet Nam" lấy 7 ký tự từ phải qua la "iet Nam". khi đó chuỗi a="Viet Nam", x="V", y="iet Nam"
sau đó gán a=y+x ="iet Nam" + "V" ="iet NamV", lần lượt như vậy sẽ tạo ra hiệu ứng chữ chạy.
Thâ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 hiepkhach
#7
(16-03-12, 01:33 PM)hoanglonglangtu Đã viết: Hàm left bạn hiểu đúng rùi đấy, nhưng mà hơi.. thiếu 1 chút.
Này nhé : ví dụ có chuỗi a="Viet Nam" thì len(a) = 8
dim x,y as tring
x= left(a,1) thi x=V và A vẫn là a="Viet Nam"
y=right(a,len(a)-1) nghĩa là gán cho y những ký tự của chuỗi a tính từ bên phải qua len(a)-1=7 ký tự như vậy a="Viet Nam" lấy 7 ký tự từ phải qua la "iet Nam". khi đó chuỗi a="Viet Nam", x="V", y="iet Nam"
sau đó gán a=y+x ="iet Nam" + "V" ="iet NamV", lần lượt như vậy sẽ tạo ra hiệu ứng chữ chạy.
Thân!

em hiểu rồi anh ơi , chỗ này sao lại = 8 hả anh , có 7 kí tự thôi mà a="Viet Nam" thì len(a) = 8
với anh giải thích chỗ này giúp em : If Me.Caption = Space(1) Then
cám ơn anh nhiều lắm happy
Chữ ký của hiepkhach Xin chào, mình là hiepkhach, Tham gia http://thuthuataccess.com/forum từ ngày 16-03 -12.
Reply
Những người đã cảm ơn
#8
(16-03-12, 01:46 PM)hiepkhach Đã viết: em hiểu rồi anh ơi , chỗ này sao lại = 8 hả anh , có 7 kí tự thôi mà a="Viet Nam" thì len(a) = 8
với anh giải thích chỗ này giúp em : If Me.Caption = Space(1) Then
cám ơn anh nhiều lắm happy

a="Viet Nam" theo nhu bạn thấy là 7 ký tự và còn thêm 1 ký tự khoảng trắng ở giữa 2 từ "Viet" và "Nam" nữa bạn ạ.
If me.caption=space(1) then
space là khoảng trắng, câu lệnh đó nghĩa là nếu chuỗi tiêu đề (me.caption) là 1 khoảng trắng (space(1)) thì.....
-Nếu mà bạn mún gán cho 1 chuỗi có bao nhiu khoảng trắng thì gán tenchuoi=space(<số khoảng trắng>) ví dụ bạn muốn chuỗi = 3 khoảng trắng thì gán tenchuoi=space(3) thay vì tenchuoi=" ", 2 cách gán đều cho kq như nhau.
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 Noname
#9
(16-03-12, 02:08 PM)hoanglonglangtu Đã viết:
(16-03-12, 01:46 PM)hiepkhach Đã viết: em hiểu rồi anh ơi , chỗ này sao lại = 8 hả anh , có 7 kí tự thôi mà a="Viet Nam" thì len(a) = 8
với anh giải thích chỗ này giúp em : If Me.Caption = Space(1) Then
cám ơn anh nhiều lắm happy

a="Viet Nam" theo nhu bạn thấy là 7 ký tự và còn thêm 1 ký tự khoảng trắng ở giữa 2 từ "Viet" và "Nam" nữa bạn ạ.
If me.caption=space(1) then
space là khoảng trắng, câu lệnh đó nghĩa là nếu chuỗi tiêu đề (me.caption) là 1 khoảng trắng (space(1)) thì.....
-Nếu mà bạn mún gán cho 1 chuỗi có bao nhiu khoảng trắng thì gán tenchuoi=space(<số khoảng trắng>) ví dụ bạn muốn chuỗi = 3 khoảng trắng thì gán tenchuoi=space(3) thay vì tenchuoi=" ", 2 cách gán đều cho kq như nhau.

Em hiểu rồi cám ơn anh nhé happy
Bài Access của em sao em dùng 1 code cho 2 lable ko được anh nhỉ big green , khi save lại nó báo lỗi ko chạy code
Anh còn cái code nào dễ hiểu mà hay hay không share thêm cho em với ạ happy , giả dụ giờ em muốn tạo 1 bảng đăng nhập thì phải làm sao anh nhỉ , mấy bảng trên google nó chỉ dc cái vỏ chứ ko chạy happy

Em hỏi thêm xí nhé , làm sao mình tạo cái menu mà nó ra như trong hình 1 , nghĩa là cái menu đó nó cố dịnh và khi bật access thì tiêu đề của access là tiêu đề bài tập của mình chứ không như hình 2 , và làm sao nó ko hiện cái bảng như hình 2 luôn anh happy

[Hình: e920d2f99e8c86bff7256b67187f2100_4213122...e00010.jpg][/url]

Chữ ký của hiepkhach Xin chào, mình là hiepkhach, Tham gia http://thuthuataccess.com/forum từ ngày 16-03 -12.
Reply
Những người đã cảm ơn
#10
1- Để tạo menu như bạn nói :
+ tạo menu con : ( menu mà bạn nhấp vào menu chính sẽ xổ xún ấy)
Vào macro, new để tạo macro mới, chọn menu view check vào Macro names. Ở field Macro name đặt tên mà bạn mún hiển thị trên menu, action là các phương thức được thực hiện, điều chỉnh các thuộc tính tương ứng bên dưới. Sau đó save lại.
+ Tạo menu chính : chọn new, ở fields action chọn phương thức AddMenu, bên dưới Menu name : tên cho menu hiển thị, Menu macro name là tên macro con bạn vừa tạo ở trên.
-Sau đó ở properties của những form mà bạn mún hiển thị menu này mục Menu Bar nhập tên macro manu chính của bạn.
--> oki.
2- Không hiện cửa sổ database bạn làm như sau (access 2003): vào menu tools -> start Up --> Bỏ check ô Display Database Windows là đc.
Bỏ chọn ô : Use Access special Key nếu không mún dùng F11 để hiện cửa sổ database lên.
Nếu mún mở cửa sổ databse thì khi open bạn nhấn giữ phím Shift.
bạn từ từ mà tìm hỉu. 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 dannynguyen1980


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Photo [Thủ Thuật] Code chia sẽ hàng thừa Phung Duc 2 58 05-12-16, 04:34 PM
Bài mới nhất: Phung Duc
  [Hỏi] Viết code có điều kiện " lệnh Chạy tiếp khi đóng tbl cho sẵn" Trần Linh 3 140 21-10-16, 11:11 AM
Bài mới nhất: Minh Tiên
  Giải thích ý nghĩ của đoạn code feeling 3 197 06-10-16, 10:18 AM
Bài mới nhất: vulhu06
  Đổi màu chú thích trong VBA hungle2006 5 280 30-03-16, 07:26 AM
Bài mới nhất: hungle2006
  [Thủ Thuật] [Share Code] Demo Quay số trúng thưởng theo danh sách trong table maidinhdan 9 1,503 10-03-16, 11:43 AM
Bài mới nhất: phamlong24

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ơ