CutPasteCopyGrd




Private Sub cmdCopy_Click()
Dim NumFields As Integer
Dim strData As String
Clipboard.Clear
datPrimaryRS.Recordset.Bookmark = grdDataGrid.Bookmark
'semicolon is added In Case delimiter is needed

For NumFields = 0 To datPrimaryRS.Recordset.Fields.Count - 1
strData = strData & _
datPrimaryRS.Recordset.Fields(NumFields).Value & ";"
Next
Clipboard.SetText Trim(strData)
End Sub

Private Sub cmdCut_Click()
Dim i As Integer
Dim strData As String
Dim BlankString As String
Clipboard.Clear
BlankString = " "
datPrimaryRS.Recordset.Bookmark = grdDataGrid.Bookmark
'semicolon is added In Case delimiter is needed

For NumFields = 0 To datPrimaryRS.Recordset.Fields.Count - 1
strData = strData & datPrimaryRS.Recordset.Fields(NumFields).Value & ";"
Next
Clipboard.SetText Trim(strData)

'delete value In DBGrid

datPrimaryRS.Recordset.Delete
datPrimaryRS.Recordset.MoveNext
If datPrimaryRS.Recordset.EOF Then _
datPrimaryRS.Recordset.MoveLast
End Sub

Private Sub cmdPaste_Click()
'returned Long from InStr function,

'InStr returns the first occurance of ';'

Dim lngInStrEndPos As Long
'point at which InStr Function will start

'To look For ";"

Dim numInStrStart As Integer
'String that is going To be operated on

'(held in clipboard)

Dim strData As String
'String that will be written into the field

'of the database

Dim strReturnedString
'Start position For Mid Function that will extract

'the data from the strData To strReturnedString

Dim lngMidStartPos As Long
'End position For Mid Function

Dim lngMidEndPos As Long
Dim NumFields As Integer

'initializes starting point For InStr Function

numInStrStart = 1

'initializes starting point For Mid Function

lngMidStartPos = 1

'stores clipboard text into String named strData

strData = Clipboard.GetText(vbCFText)
datPrimaryRS.Recordset.AddNew

For NumFields = 0 To datPrimaryRS.Recordset.Fields.Count - 1
strReturnedString = ""
lngInStrEndPos = InStr(numInStrStart, strData, ";", vbTextCompare)
strReturnedString = Mid(strData, numInStrStart, lngInStrEndPos - numInStrStart)
If strReturnedString = "" Then
Else
datPrimaryRS.Recordset.Fields(NumFields).Value = strReturnedString
numInStrStart = lngInStrEndPos + 1
End If
Next
datPrimaryRS.Recordset.Update
datPrimaryRS.Refresh
End Sub

Assumes:Just place the code under corresponding buttons,
or leave them as functions and access them through the menu.










( cutpastecopygrd.html )- by Paolo Puglisi - Modifica del 17/12/2023