Aşağı Yukarı Ok İle Sıra Numarası Değiştirmek

04/09/2022, 09:35

alikagan

merhaba arkadaşlar
eklediğim örnek dosyada, liste kusutundan seçmiş olduğum kaydı AŞAĞI - YUKARI ok larla SIRA NUMARASINI değiştirmek istiyorum.
yapmaya çalıştım ama olmadı,


04/09/2022, 10:25

ozanakkaya

Merhaba, Tablodaki Verilerin Sırasını Değiştir. konusunu inceleyiniz.
04/09/2022, 16:22

alikagan

merhaba sn ozanakkaya,
inceledim, ama örnek bana çok karışık geldi. o yüzden yapamadım.
05/09/2022, 10:23

atoykan

Yukarı taşıma kodunuzu
Dim LngIndex As Long, i, j, x As Integer
LngIndex = Me.Liste9.ListIndex
If LngIndex = 0 Then Exit Sub

i = Me.Liste9.Column(0)
j = Me.Liste9.Column(3, LngIndex + 1)
x = Me.Liste9.Column(3, LngIndex)

'seçilenden önceki
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & i - 1 & " where KIMLIK=" & j & ""
'Me.Liste9.Requery
'Listede seçilen
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & i & " where KIMLIK=" & x & ""
Me.Liste9.Requery
olarak değiştirip deneyin lütfen. Yapmak istediğiniz işlem bu ise aşağı taşıma kodunuzu buna göre revize edin.
05/09/2022, 13:48

alikagan

sn atoykan, ilgilendiğiniz için teşekkür ederim,
mevcut kodunuzun sonuna 
Me.Liste9.Selected(LngIndex) = True
ekledim,

(aslında formda mevcut olan kodun sonuna da 
Me.Liste9.Selected(LngIndex) = True
kodunu ekleyinci çözüldü, 

sizin çözümünüz benim için aydınlatıcı oldu,
teşekkür ederim.

Mevcut kodun tamamı:

Private Sub YUKARI_Click()
Dim LngIndex As Long
LngIndex = Me.Liste9.ListIndex
If LngIndex = 0 Then Exit Sub

'seçilenden önceki
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & Me.Liste9.Column(0) & " where KIMLIK=" & Me.Liste9.Column(3, LngIndex)
'Me.Liste9.Requery
'Listede seçilen
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & Me.Liste9.Column(0) - 1 & " where KIMLIK=" & Me.Liste9.Column(3)
Me.Liste9.Requery
Me.Liste9.Selected(LngIndex) = True
End Sub


Private Sub ASAGI_Click()
Dim LngIndex As Long
LngIndex = Me.Liste9.ListIndex + 2
'If LngIndex = Me.Liste9.ListCount - 1 Then Exit Sub
If LngIndex > Me.Liste9.ListCount - 1 Then Exit Sub

'seçilenden önceki
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & Me.Liste9.Column(0) & " where KIMLIK=" & Me.Liste9.Column(3, LngIndex)
'Me.Liste9.Requery
'Listede seçilen
DoCmd.RunSQL "update ISLETME_AKISI_LISTESI set SIRA_NO=" & Me.Liste9.Column(0) + 1 & " where KIMLIK=" & Me.Liste9.Column(3)

Me.Liste9.Requery
Me.Liste9.Selected(LngIndex) = True

End Sub

05/09/2022, 13:58

atoykan

Rica ederim, iyi çalışmalar.