Dont prompt if only one shipping adress (1 Viewer)

rainbows

Registered User.
Local time
Today, 07:41
Joined
Apr 21, 2017
Messages
425
1665818341130.png


it i send an invoice to a customer ie " crompton greaves " there could be 2 shipping addresses see above and i am asked which one
see code below i would like it not to prompt me for the line number if there is only one shipping address for that customer

thanks for your help

steve





Code:
Private Sub cmdOpenInvoice_Click()


    On Error GoTo Err_Handler
    
    Const MESSAGE_TEXT = "No current invoice."
 If Not IsNull([Invoice].[Form]![InvoiceNo]) Then
    
        ' ensure current record is saved
        Me.Dirty = False
        
         Me.addressno = InputBox("Please provide address line number")
        ' open report in print preview
        DoCmd.OpenReport "Invoice report", View:=acViewPreview
    Else
        MsgBox MESSAGE_TEXT, vbExclamation, "Invalid Operation"
    End If
    
Exit_Here:
    Exit Sub
    
Err_Handler:
    MsgBox Err.Description
    Resume Exit_Here
End Sub


sql is
Code:
SELECT [sellprice1]*[quanity1] AS [Net Amount], invoicedetails.ID, [invoice header].InvoiceNo, Orders.[Exchange rate2], [shipping/invoice address].addressno, [invoice header].Notes, invoicedetails.Invoicenumber, invoicedetails.Quanity1, invoicedetails.CDescription1, invoicedetails.SellPrice1, [Order Details].Sellprice, Orders.OrderNo, invoicedetails.[Product No1], Orders.NCONo, [SellPrice1]/[Exchange Rate2] AS [unit price], IIf([shipping costs]="exw",0,[shipping costs]/[exchange rate2]) AS [equiv shipping cost], [invoice header].[Invoice Date], [invoice header].Method, [invoice header].Carriage, [invoice header].[Shipping date], [invoice header].[Shipping costs], [invoice header].[vat code], [invoice header].Terms, [invoice header].Invoicetype, Customers.AccountNo, Customers.CustomerName, Customers.EMailaddress, [shipping/invoice address].[customer name], [shipping/invoice address].[Account  line 1], [shipping/invoice address].[account line 2], [shipping/invoice address].[account line 3], [shipping/invoice address].[account line 4], [shipping/invoice address].[account line 5], [shipping/invoice address].[account line 6], [shipping/invoice address].[shipping customer  name], [shipping/invoice address].[shipping line 1], [shipping/invoice address].[shipping line 3], [shipping/invoice address].[shipping line 4], [shipping/invoice address].[shipping line 5], [shipping/invoice address].[shipping line 6], [shipping/invoice address].[customer id], [shipping/invoice address].addressno, BACCOUNT.[Currency:], BACCOUNT.[Account name:], BACCOUNT.[Sort Code:], BACCOUNT.[Account No:], BACCOUNT.[IBAN:], BACCOUNT.[BIC Number:], [shipping/invoice address].[shipping line 2], Products.Pdescription, Customers.Currency, invoicedetails.Pdescription1, [Order Details].CDescription, IIf([Order Details]![CDescription] Is Null,[Products]![PDescription],[Order Details]![CDescription]) AS [Customer Description], Nz([invoice header]![OrderNo],[Orders]![OrderNo]) AS ref, Customers.vatno, IIf([vat code]="t3",[vatno]) AS vatno1
FROM ((Customers INNER JOIN (((Orders INNER JOIN ([invoice header] INNER JOIN invoicedetails ON [invoice header].InvoiceNo = invoicedetails.Invoicenumber) ON Orders.NCONo = [invoice header].NCOno) LEFT JOIN [Order Details] ON invoicedetails.orderdetailid = [Order Details].OrderID) LEFT JOIN Products ON [Order Details].ProductNo = Products.ProductID) ON Customers.CustomerID = Orders.CustomerName) INNER JOIN [shipping/invoice address] ON Customers.CustomerID = [shipping/invoice address].[customer id]) INNER JOIN BACCOUNT ON Customers.Currency = BACCOUNT.[Currency:]
WHERE ((([invoice header].InvoiceNo)=[Forms]![invoices]![invoice].[Form]![Invoiceno]) AND (([shipping/invoice address].addressno)=[Forms]![invoices].[Form]![addressno]))
ORDER BY invoicedetails.ID, invoicedetails.[Product No1] DESC;

1665818976968.png
 

Gasman

Enthusiastic Amateur
Local time
Today, 15:41
Joined
Sep 21, 2011
Messages
14,306
So use a Dcount() to see how many you have and code accordingly.

Inputboxes can allow for mistakes. I would present a form with all the addresses to select from, if selection is needed.
 

Users who are viewing this thread

Top Bottom